1.不存在變數提公升
//使用var宣告
console.log(a);//undefined
var a = 1;
//使用let宣告
console.log(b);
let b = 2; //報錯
2.只在當前作用域有效
for(var i = 0;i<4;i++){}
i;//4
for(let n=0;n<4;n++){}
n;//報錯
3.暫時性死區
如果同乙個作用域內已經宣告過變數了,
再宣告會報錯,let不允許重複宣告,並不會像var一樣覆蓋原來的。
//不可以重複宣告
const n = 1;
n = 2;//報錯
//const宣告的常量是不可修改的
let array = [1,2];
const static = array;
array.push(3);
static ;//1,2,3
//const宣告的如果是乙個物件,物件本身可以改變,但指向的位址不可改變。
即static指向array記憶體的指標不可以修改,但指標指向的記憶體array可以修改
陣列解構
物件解構
let =
name //"chan"
age //23
//同樣屬性名賦值 xx = 'xj'
let =
xx //"xj" 這種方式是給xx物件school的屬性值
預設賦值
let =
//name如果沒有傳值的時候,等於chan
//如果傳值了let = name=kc
name
"chan"
//傳值的情況下
let =
age20
檢視某個字元or元素存不存在
字串呼叫
let string = 'abcdefg'
// 判斷h存不存在
string.includes('h') //false
// 判斷a存不存在
string.includes('a') //true
陣列呼叫
判斷某乙個物件是否存在陣列中
let a =
let b =
let objarr = [a,b]
objarr.includes(a) //true
objarr.includes() //false
set結構類似於陣列,但所有成員的值都是唯一的。
const unique = new set([1,2,3,4,4])
unique;//1,2,3,4
//生成set資料結構的物件時內部帶有===的檢驗方法
const unique = new set([1,2,'2'])
unique;// 1,2,'2'
//新增成員
unique.add(3);
//獲取長度
unique.size;//4
可以將set結構轉換為陣列
let arr = array.from(unique)
arr;//[1,2,'2',4]
//獲取鍵值,set結構沒有鍵,只有鍵值 keys(),values()用法相同
unique.keys()//返回value
//entries()返回鍵值和鍵名,鍵名和鍵值相同
class定義類和es5的建構函式相同,class point 等同於 point.prototype = {}
point 必須由new 操作符來呼叫 否則會報錯
也可以通過let fun = class point{}來賦值,但是通過這樣的方法並不能在外部呼叫到point
不存在變數提公升 與es5 function functionname 有所不同
class point
//方法之間不需要用逗號隔開
fn()
}// typeof point 'function'
// point === point.prototype.constructor //true
let dot = new point(100,0);
dot.fn()// x is 100,y is 0
ES6部分特性小結
es6之前宣告變數只能用var,var的特點是無論宣告在何處,都會被視為宣告在函式的最頂部 不在函式內即在全域性作用域的最頂部 function test else console.log name 此處訪問值為undefined 可以看到雖然列印結果是undefined,但是並沒有報錯。那是因為被...
es6新特性 ES6新特性(一)
var 1 var宣告的是函式作用域 區域性 但在if for等定義的變數是全域性的 2 var 具有變數提公升,預解析 3 在同乙個作用域下,var可以宣告多次 4 var 宣告的變數會掛載到window上 let1 let不存在變數提公升,在變數使用之前,必須要先宣告 2 let在同一作用域下,...
ES6部分語法
1 當物件的key和value名稱一致時,可以縮寫成乙個。components 等同於 components 2 data 等同於data function data 等同於 data function 3 是箭頭函式 render function h 也等同於 render h 4 在es6語法...