亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ES6 13個(gè)新特性總結(jié)

 更新時(shí)間:2022年04月06日 09:30:52   投稿:wdc  
這篇文章主要介紹了ES6 13個(gè)新新特性總結(jié),let const,模塊字符串,解構(gòu),箭頭函數(shù),for of,promise,async/await,Symbol,Set集合等需要的朋友可以參考下

1. let const

let 表示申明變量。const 表示申明常量。

  • 常量定義了就不能改了。對(duì)象除外,因?yàn)閷?duì)象指向的地址沒(méi)變。
  • const在申明是必須被賦值。
  • 兩者都為塊級(jí)作用域。

塊級(jí)作用域與函數(shù)作用域。任何一對(duì)花括號(hào)({和})中的語(yǔ)句集都屬于一個(gè)塊,在這之中定義的所有變量在代碼塊外都是不可見(jiàn)的,我們稱之為塊級(jí)作用域。函數(shù)作用域就好理解了,定義在函數(shù)中的參數(shù)和變量在函數(shù)外部是不可見(jiàn)的。

const a = 1
a = 0 //報(bào)錯(cuò)

2. 模塊字符串``

可以使用反引號(hào)``來(lái)進(jìn)行字符拼接。${}

3. 解構(gòu)

可以使用{}來(lái)對(duì)數(shù)組和對(duì)象進(jìn)行解構(gòu)。

image

image

4. 函數(shù)的參數(shù)默認(rèn)值

函數(shù)傳參可以有默認(rèn)值

// ES6;
function printText(text = 'default') {
    console.log(text);
}

5. Spread / Rest 操作符 ...

Spread / Rest 操作符指的是 ...,具體是 Spread 還是 Rest 需要看上下文語(yǔ)境。

  • 當(dāng)被用于迭代器中時(shí),它是一個(gè) Spread 操作符:迭代器 (Iterator)是按照一定的順序?qū)σ粋€(gè)或多個(gè)容 器 中的元素行進(jìn)遍歷的一種機(jī)制
function foo(x,y,z) {
  console.log(x,y,z);
}
 
let arr = [1,2,3];
foo(...arr); // 1 2 3
  • 當(dāng)被用于函數(shù)傳參時(shí),是一個(gè) Rest 操作符:當(dāng)被用于函數(shù)傳參時(shí),是一個(gè) Rest 操作符:
function foo(...args) {
  console.log(args);
}
foo( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]

6. 箭頭函數(shù)

  • 不需要 function 關(guān)鍵字來(lái)創(chuàng)建函數(shù)
  • 省略 return 關(guān)鍵字
  • this始終指向函數(shù)申明時(shí)所在作用域下的this值
//es5
var fun = function() {

}
//es6
var fn = () => {

}

7. for of

  • for of遍歷的是鍵值對(duì)中的值
  • for in遍歷的是鍵值對(duì)中的鍵

8. class類

ES6 中支持 class 語(yǔ)法,不過(guò),ES6的class不是新的對(duì)象繼承模型,它只是原型鏈的語(yǔ)法糖表現(xiàn)形式。

class Student {
  constructor() {
    console.log("I'm a student.");
  }
 
  study() {
    console.log('study!');
  }
 
  static read() {
    console.log("Reading Now.");
  }
}
 
console.log(typeof Student); // function
let stu = new Student(); // "I'm a student."
stu.study(); // "study!"
stu.read(); // "Reading Now."

9. 導(dǎo)入導(dǎo)出

  • 導(dǎo)入improt
  • 導(dǎo)出export default

10. promise

Promise 用于更優(yōu)雅地處理異步請(qǐng)求。

  <script>
    new Promise((resolve,reject) => {
      setTimeout(function() {
        resolve('成功了!')
      },1000)
      // reject("失敗了,wuwu")
    }).then(data => {
      console.log(data)
    }).catch(err => {
      console.log(err)
    })
  </script>

11. async/await

比promise更好的解決了回調(diào)地獄。

async function() {
  awiat fn()
}

12. Symbol

新的基本類型

13. Set集合

存儲(chǔ)任何類型的唯一值,即集合中所保存的元素是不重復(fù)的。類數(shù)組結(jié)構(gòu)。

arr = [1,2,3,1]
let arrNew = new Set(arr)
arrNew = [1,2,3]

類數(shù)組不是數(shù)組,要轉(zhuǎn)化為數(shù)組Array.form(arrNew)這樣arrNew才是數(shù)組了

相關(guān)文章

最新評(píng)論