關於ES6中變數的解構賦值的問題?凱斯2017-07-09 11:32:25

其實很好理解的。。靜下心來思考一下就會發現並沒有多複雜

1。 ”表示式是惰性求值,只有在用到的時候才會求值“,這句話是什麼意思?什麼時候會用到並求值?

let

func

=

()

=>

{

return

1

}

let

a

=

func

()]

=

[]

console

log

a

// 1

let

b

=

func

()]

=

2

console

log

b

// 2

當使用陣列的解構賦值時,可以給a變數傳入預設值,而這個預設值成立的條件就是等號右邊對應的全等於undefined

a變數在解構時沒有找到對應的值,因此為undefined,而undefined === undefined,所以會採用預設值1

b變數在解構時找到了對應的值,2 !== undefined,所以打印出2

預設值的惰性求值的成立條件:等號右邊對應的值不全等於undefined

2。 等價的程式碼是怎麼來的,完全沒看懂。if([1][0] === undefined )中[1][0]指向的什麼?

其實阮一峰老師簡寫了。。

let arr = [1]

arr[0]

關於ES6中變數的解構賦值的問題?知了堂教育2021-06-28 09:29:07

關於ES6中變數的解構賦值的問題?前端一姐2021-07-07 20:29:42

關於ES6中變數的解構賦值的問題?前端芳芳2021-08-24 11:34:33

什麼是解構

ES6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構(Destructuring)。

解構是ES6的新特性, 比ES5程式碼簡潔,清晰,減少程式碼量;

ES5中的為變數賦值,只能直接指定值;

var a = 1; var b = 2; var c = 3;

var [a,b,c] = [1,2,3]; 這種寫法屬於“模式匹配”,只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值;

物件解構的寫法

let {id,name} = {id:1,name:‘fangfang’}; 更方便

解構在vue中用的很多,比如vuex中的actions物件

const actions={

increment(context){

context。commit(‘add’);

},

另一種寫法,這也是解構的一種方式

increment({commit, state}){

commit(‘add’);

}

}

關於ES6中變數的解構賦值的問題?前端星球Pluto2021-09-21 15:56:18