ES6部分新特性總結

2021-09-13 08:09:31 字數 2464 閱讀 1799

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語法...