let/const
用於宣告變數,替代老語法的var
關鍵字,它的用法與var
類似,但是所宣告的變數只在所在的**塊中有效。
與let
不相同的是,const
宣告的是乙個唯讀常量。
const
的特點:
字串解構
字串也可以解構賦值。這是因為此時,字串被轉換成了乙個類似陣列的物件。
const [a, b, c, d, e] = 'hello';
數值和布林值解構
解構賦值時,如果等號右邊是數值和布林值,則會先轉為物件。
let = 123;
s === number.prototype.tostring // true
let = true;
s === boolean.prototype.tostring // true
物件解構
物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。
形式:const =
預設:const =
改名:const =
陣列解構
只要某種資料結構具有iterator介面
就可採用陣列形式的解構賦值
形式:const [x, y] = [1, 2]
預設:const [x, y = 2] = [1]
函式引數解構
//陣列引數解構
function add([x, y])
add([1, 2]); // 3
//物件引數解構且有預設值
function move( = {})
move(); // [3, 8]
move(); // [3, 0]
move({}); // [0, 0]
move(); // [0, 0]
es6 允許使用箭頭(=>)定義函式,簡化定義函式
var f = v => v;
// 等同於
var f = function (v) ;
擴充套件運算子(...):轉換陣列為用逗號分隔的引數序列([...arr]
,相當於rest/spread引數
的逆運算)
array.from():轉換具有iterator介面
的資料結構為真正陣列,返回新陣列
類陣列物件:包含length的物件
、arguments物件
、nodelist物件
可遍歷物件:string
、set結構
、map結構
、generator函式
array.of():轉換一組值為真正陣列,返回新陣列
copywithin():把指定位置的成員複製到其他位置,返回原陣列
find():返回第乙個符合條件的成員
findindex():返回第乙個符合條件的成員索引值
fill():根據指定值填充整個陣列,返回原陣列
keys():返回以索引值為遍歷器的物件
values():返回以屬性值為遍歷器的物件
entries():返回以索引值和屬性值為遍歷器的物件
陣列空位:es6明確將陣列空位轉為undefined
(空位處理規不一,建議避免出現)
轉殖陣列:const arr = [...arr1]
合併陣列:const arr = [...arr1, ...arr2]
拼接陣列:arr.push(...arr1)
轉換字串為陣列:[..."hello"]
轉換類陣列物件為陣列:[...arguments, ...nodelist]
轉換可遍歷物件為陣列:[...string, ...set, ...map, ...generator]
與陣列解構賦值結合:const [x, ...rest/spread] = [1, 2, 3]
計算unicode字元長度:array.from("hello").length
=>[..."hello"].length
方法對映集合
方法應用場景
重點難點
方法方法
應用場景
重點難點
特點:示例:
const promise = new promise(function(resolve, reject) else
});
方法:catch():用於指定發生錯誤時的**函式。
promise.all():將多個例項包裝成乙個新例項,返回全部例項狀態變更後的結果陣列(齊變更再返回)
promise.race():將多個例項包裝成乙個新例項,返回全部例項狀態優先變更後的結果(先變更先返回)
promise.resolve():將物件轉為promise物件(等價於new promise(resolve => resolve())
)
promise.reject():將物件轉為狀態為rejected
的promise物件(等價於new promise((resolve, reject) => reject())
)
es6入門教程
promise不會??看這裡!!!史上最通俗易懂的promise!!!
近一萬字的es6語法知識點補充
常用es6語法總結
一.let var,const var沒有塊級作用域,定義後在當前閉包中都可以訪問,如果變數名重複,就會覆蓋前面定義的變數,並且也有可能被其他人更改。for var i 0 i 3 i 0 結果會列印3次3,原因是var 沒有塊級作用域,而let有自己的塊級作用域,所以不會出現這種情況。使用 let...
常用ES6基礎語法總結
用自己易於理解的語言總結的,歡迎各位大佬指點 1 用來宣告塊級作用域 let宣告的變數只在其塊級作用域內有效,而var通常在函式作用域或全域性作用域內有效塊級作用域 指用花括號包裹起來形成的語句塊,如if for while迴圈語句等。if true console.log a a is not d...
ES6語法總結
1 物件的寫法 es5中物件 es6中物件 注意這種寫法的屬性名稱和值變數是同乙個名稱才可以簡寫,否則要想es5那樣的寫法,例如 2 在物件中的方法的寫法 es5中物件 substrict function es6中物件 substrict 3 物件的匯出寫法 es5兩種形式 1 module.ex...