我们都知道,取js对象的时候可以用.也可以用[]。但是区别之前不是很清楚,今天在网上搜罗了,现总结如下:
中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。
中括号运算符可以用 字符串变量的内容 作为属性名。点运算符不能。
中括号运算符可以用 纯数字 为属性名。点运算符不能。
中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。
可以看出来,用点操作的时候,字符串变量的时候,返回undefined;纯数字的会报错;关键字和保留字js会自动忽略。而这些[]都可以。