你不知道的JS系列 ( 29 ) - 对象属性

Posted Zina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你不知道的JS系列 ( 29 ) - 对象属性相关的知识,希望对你有一定的参考价值。

存储在对象容器内部的是这些属性的名称,它们就像指针(从技术角度来说是引用)一样,指向这些值真正的存储位置。

 

var myObject = {
  a: 2
}
myObject.a; // 2
myObject[‘a‘]; // 2

. 语法通常被称为‘属性访问’,[] 语法通常被称为‘键访问’。这两种语法的主要区别在于,. 操作符要求属性名满足标识符的命名规范,而 [] 语法可以接受任意 utf-8/Unicode 字符串作为属性名,比如说 ‘super-fun!’,就必须用 [] 访问,因为它不是一个有效的标识符属性名

 

var myObject = {};
myObject[true] = ‘foo‘;
myObject[3] = ‘bar‘;
myObject[myObject] = ‘baz‘;

myObject[‘true‘]; // ‘foo‘
myObject[‘3‘]; // ‘bar‘
myObject[‘[object object]‘]; // ‘baz‘

在对象中,属性名永远都是字符串。如果你使用 string 以外的其他值作为属性名,那它首先会被转换为一个字符串

以上是关于你不知道的JS系列 ( 29 ) - 对象属性的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的JS系列 ( 33 ) - 对象复制

你不知道的JS系列 ( 39 ) - 对象遍历

你不知道的JS5-原型

你不知道的JS系列上( 45 ) - 显式混入

《你不知道的JS(中卷)》对象

你不知道的JS系列 ( 12 ) - 声明提升