ES6 syntax sugar
一、「``」Template literals (Template strings)
var a = "123"; var b = `aaa${a}bbb`; console.log(b);
結果為
使用「${}」表示法,可以將變數嵌在字串裡。
另一種用法為「${}」表示法裡面再套用「${}」表示法,
「${}」裡面可做程式判斷。
var yes = "Yes"; var no = "No"; var a = "123"; var b = `aaa ${a == "123" ? `${yes}` : no} bbb`; console.log(b);
結果為
二、Spread operator
var obj = { a: 'a', b: 'b', c: 'c' }; var test2 = { z: 'z', ...obj }; console.log('test2', test2); var test3 = { a: 'z', ...obj }; console.log('test3', test3); var arr = [1, 2, 3]; var test4 = [0, ...arr]; console.log('test4', test4);
執行結果為
說明:
延展運算符如果用在物件或陣列時,其就是代表原本的物件(陣列),
去代到另一個物件(陣列)。
三、解構賦值 destructuring assignment
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> </head> <body> <script> var foo = { id: '1', name: 'Bill' } var { id, name } = foo; console.log("id:" + id); console.log("name:" + name); </script> </body> </html>
四、null || n
var a = null || 50; console.log(a); var b = 30 || 50; console.log(b);
執行結果為
說明:
如果第一個變數為 null 時,則傳回第二個變數。
參考資料: