參考:https://www.jianshu.com/p/ac1787f6c50f數組
變量聲明:const 與 let函數
const:常量,必須初始化值 let:變量spa
格式:const 變量A = "值" let 變量B = "值" code
做用域:二者都爲塊級做用域對象
模板字符串:blog
示例:作用域
let a = "值1" console.log(`值:${a}`) // 輸出: 值:值1
箭頭函數:字符串
特色:1. 不須要function關鍵字來建立函數get
2. 當函數僅有一個表達式的時候能夠省略 { } 與 return關鍵字io
3. 當函數只有一個參數的時候,能夠省略 ()
示例:
// 當函數主題只有一個表達式時,能夠省略 { } let fn1 = (a, b) => a + b // 箭頭函數 let fn2 = () => { // 函數內容 } // 只有一個參數能夠省略 () let fn3 = a => { // 函數內容 }
函數運行參數默認值
注意:默認值參數須要寫在參數最後面
示例:
// text2有默認值,須要寫在參數的最後 function printText(text1, text2 = "123", text3 = "456") { console.log(`${text1}-${text2}-${text3}`) } printText('0000') // 輸出:0000-123-456
Spread/Rest操做符( ... )
示例:
// 示例1:當被用於迭代器中時,它是一個 Spread 操做符 function foo(x,y,z) { console.log(x,y,z); } let arr = [1,2,3]; foo(...arr); // 1 2 3 // 示例2:當被用於函數傳參時,是一個 Rest 操做符:當被用於函數傳參時,是一個 Rest 操做符: function foo1(...args) { console.log(args); } foo1( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
支持二進制和八進制字面量
let oValue = 0o10; console.log(oValue); // 8 let bValue = 0b10; // 二進制使用 `0b` 或者 `0B` console.log(bValue); // 2
對象與數組的解構
// 對象 const student = { name: 'Sam', age: 22, sex: '男' } // 數組 // const student = ['Sam', 22, '男']; // ES5; const name = student.name; const age = student.age; const sex = student.sex; console.log(name + ' --- ' + age + ' --- ' + sex); // ES6 const { name, age, sex } = student; // 解構 console.log(name + ' --- ' + age + ' --- ' + sex);
for...of 與 for ... in
for...of 用於遍歷一個迭代器,如數組:
let letters = ['a', 'b', 'c'] letters.size = 3for (let letter of letters) { console.log(letter) }// 結果: a, b, c
for...in 用來遍歷對象中的屬性:
let stus = ["Sam", "22", "男"] for (let stu in stus) { console.log(stus[stu]) } // 結果: Sam, 22, 男
如下兩個不是特別瞭解:
對象超類 super
類 class 語法糖
一我的應養成信賴本身的習慣,即便在最危急的時候,也要相信本身的勇敢與毅力。——拿破崙