1.直接用識別符號作為屬性名:
obj.foo = true
2.用表示式作為屬性名:
obj['a'+'bc'] = 123//相當於
obj['abc'] = 123
3.es6 允許字面量定義物件時,用方法二(表示式)作為物件的屬性名,即把表示式放在方括號內。
let key = 'foo';let obj =;
var lastword = 'last word';var a =;
a['first word'] //
"hello"
a[lastword] //
"world"
a['last word'] //
"world"
4.表示式用來定義方法名
let obj =};obj.saysomething();
//hello word
5.注意,屬性名表示式與簡潔表示法,不能同時使用,會報錯。
//會報錯var foo = 'bar';
var bar = 'abc';
var baz =;
//正確寫法:
var foo = 'bar';
var baz = ;
6.注意,屬性名表示式如果是乙個物件,預設情況下會自動將物件轉為字串[object object]
,這一點要特別小心。
const keya = ;const keyb = ;
const myobject =;
myobject
//object
上面**中,[keya]
和[keyb]
得到的都是[object object]
,所以[keyb]
會把[keya]
覆蓋掉,而myobject
最後只有乙個[object object]
屬性。
ES6 屬性名表示式
1.直接用識別符號作為屬性名 obj.fo true2.用表示式作為屬性名 obj a bc 123 相當於 obj abc 1233.es6 允許字面量定義物件時,用方法二 表示式 作為物件的屬性名,即把表示式放在方括號內。let key fo let obj var lastt last t v...
ES6解構表示式
1 解構表示式傳參 let user function show obj show user 表示式傳值,整個表示式的值 取決於右邊,所以把user傳給了obj console.log name,age ghostwu,222 解構陣列 let arr 10,20,30,40 陣列用解構 let o...
ES6學習 正規表示式
建構函式 y修飾符 u 修飾符 unicode匹配 console.log u 1 udb3d test udb3d udc2a true console.log u 1 udb3d u.test udb3d udc2a false unicode匹配,超過 個位元組了,加u,console.log...