教你從入門到放棄
let:
跟es5相比,es6增加了let,其用法類似var,但存在著較大區別:
相同點:用來宣告變數,儲存變數
不同點:
①作用域不同,var是函式作用域,let是塊作用域;
②暫時性死區:let宣告的後的變數會繫結它所在的作用域,該作用域不允許重複宣告,不存在宣告提公升。
let a = 10;
let a = 20; //報錯
const:
宣告常量,
注意:必須賦值,且賦值後值不可以修改,只有陣列和物件可以通過一定方法修改常量值
陣列可以通過下標修改陣列中的內容
const arr = [0,1,2];
arr[0] = "皇甫鐵牛";
console.log(arr);//[皇甫鐵牛,1,2]
物件可以通過鍵改變值
const obj =
obj.name = '皇甫鐵牛';
console.log(obj);//
es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,成為解構(destructuring)。
賦值運算子右側是要解構的陣列或物件,左側是對應的模式和宣告變數,表現形式為、{}
var arr = [1,2,3];
var obj = ;
let [a] = arr;
let = obj;
console.log(a,b);//1,李翠花
let [a,b,c] = [1,2,3]; ==> let a = 1;
let b = 2;
let c = 3;
let [ , , c] = [1,2,3];//c:3
解構賦值預設值
物件解構賦值
字串解構賦值
函式形參的解構賦值
其他知識點見部落格解構賦值篇
(數值、陣列、字串、物件、函式)
es6存在相容問題,主要針對ie9,使用轉碼器(babel),可以把es6轉換為es5,所以es6是es5的語法糖;
**語法糖:**好用且效果不打折扣,在原有的功能不變的基礎上讓用法更加簡潔方便
ES6新增特性
let 1.let宣告的變數不會掛在window中,不會像var宣告的變數一樣造成全域性變數的汙染 2.新增了乙個塊級作用域 以前只有函式作用域,全域性作用域 3.let是不允許重複宣告 4.let不會有宣告提前 var num 15 全域性變數 console.log num 15 console...
ES6新增特性
1 變數定義 const let 2 解構 3 箭頭函式 核心 this的指向 4 模板字面量 5 spread rest 物件展開 6 子符串 陣列新增方法 console.log str.includes de true,字串是否包含de console.log str.endswith ef ...
ES6新特性彙總
const常量 num 10 常量不可修改,如果是物件的話,可以修改值 eg1 obj 可以直接將data從obj中解構出來 let obj eg2 let a 0 let b 1 如何交換二者的值?a,b b,a b 不錯 a 今天天氣 將變數直接 差值表示式的方式,插入字串中 let arr 1...