JavaScript之ES6經常使用新特性

參考: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  語法糖

 

 

一我的應養成信賴本身的習慣,即便在最危急的時候,也要相信本身的勇敢與毅力。——拿破崙

相關文章
相關標籤/搜索