console.log(bar) //{ a: "hello", b: 2, c: 3 }
其中就是[]与.的区别,中括号运算符
[]
可以存取数组元素值,使用点运算符
.
可以存取对象属性值。
搜了一波有的用Object.defineProperty,有的解构重新创建了一个新对象obj,然后用obj.[‘Property’]=val,返回这个对象
当对象以数字为属性名时,其实就是一个数组,用[’’]var foo={1:'a',2:'b'} foo['1']='c' console.log(foo) // { 1: "c", 2: "b" }当对象以字符为属性名时,直接用.获取属性值var bar = {a:1,b:2,c:3} bar.a= 'hello'; console.log(bar) //{ a: "hello", b: 2, c: 3 }其中就是[]与.的区别,中括号运算符[]可以存取数组元素值,使用点运算符.可以存取对象属性值。