更新時間:2022-04-07 11:41:30 來源:動力節點 瀏覽4295次
es6新特性有哪些?動力節點小編為大家進行詳細介紹。ECMAScript6.0(以下簡稱 ES6)是 JavaScript 語言的下一代標準,已經在 2015 年 6 月正式發布了。它的目標,是使得 JavaScript 語言可以用來編寫復雜的大型應用程序,成為企業級開發語言。
es6新特性:const與let變量、模板字面量、解構、增強的對象字面量、for...of循環、展開運算符(...)、剩余參數(可變參數)、ES6箭頭函數、類的支持、字符串模板、iterator、generator、模塊、Symbols等。
let 表示申明變量。const 表示申明常量。
常量定義了就不能改了。對象除外,因為對象指向的地址沒變。
const在申明是必須被賦值。
兩者都為塊級作用域。
塊級作用域與函數作用域。任何一對花括號({和})中的語句集都屬于一個塊,在這之中定義的所有變量在代碼塊外都是不可見的,我們稱之為塊級作用域。函數作用域就好理解了,定義在函數中的參數和變量在函數外部是不可見的。
const a = 1
a = 0 //報錯
可以使用反引號``來進行字符拼接。${}
可以使用{}來對數組和對象進行解構。
函數傳參可以有默認值
// ES6;
function printText(text = 'default') {
console.log(text);
}
Spread / Rest 操作符指的是 ...,具體是 Spread 還是 Rest 需要看上下文語境。
當被用于迭代器中時,它是一個 Spread 操作符:迭代器 (Iterator)是按照一定的順序對一個或多個容器中的元素行進遍歷的一種機制
function foo(x,y,z) {
console.log(x,y,z);
}
let arr = [1,2,3];
foo(...arr); // 1 2 3
當被用于函數傳參時,是一個 Rest 操作符:當被用于函數傳參時,是一個 Rest 操作符:
function foo(...args) {
console.log(args);
}
foo( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
不需要 function 關鍵字來創建函數
省略 return 關鍵字
this始終指向函數申明時所在作用域下的this值
//es5
var fun = function() {
}
//es6
var fn = () => {
}
for of遍歷的是鍵值對中的值
for in遍歷的是鍵值對中的鍵
ES6 中支持 class 語法,不過,ES6的class不是新的對象繼承模型,它只是原型鏈的語法表現形式。
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."
導入improt
導出export default
Promise 用于更優雅地處理異步請求。
<script>
new Promise((resolve,reject) => {
setTimeout(function() {
resolve('成功了!')
},1000)
// reject("失敗了,wuwu")
}).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
</script>
比promise更好的解決了回調。
async function() {
awiat fn()
}
新的基本類型
存儲任何類型的唯一值,即集合中所保存的數據元素是不重復的。類數組結構。
arr = [1,2,3,1]
let arrNew = new Set(arr)
arrNew = [1,2,3]
類數組不是數組,要轉化為數組Array.form(arrNew)這樣arrNew才是數組了。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習