📅  最后修改于: 2023-12-03 15:36:39.623000             🧑  作者: Mango
在 Javascript 中,可以使用点表示法或者括号表示法来访问对象的属性。使用点表示法的时候,属性名必须是一个合法的标识符。如果属性名不是一个合法的标识符,那么就不能使用点表示法,而是要使用括号表示法。
在 Javascript 中,标识符指的是用来标识变量、函数、属性的字符串。标识符可以由以下内容组成:
注意,标识符不能以数字开头。
点表示法用于访问对象属性,语法如下:
object.property
其中,object 是一个对象,property 是一个合法的标识符。
例如:
const person = {
name: 'John',
age: 30
};
console.log(person.name); // 输出:John
console.log(person.age); // 输出:30
在上面的例子中,我们使用点表示法访问了 person 对象的 name 和 age 属性。
括号表示法用于访问对象属性,语法如下:
object['property']
其中,object 是一个对象,property 是一个字符串或者一个表达式,用来表示属性名。
例如:
const person = {
name: 'John',
age: 30
};
console.log(person['name']); // 输出:John
console.log(person['age']); // 输出:30
在上面的例子中,我们使用括号表示法访问了 person 对象的 name 和 age 属性。注意,属性名要用引号括起来。
括号表示法的一个优势在于可以使用变量或者表达式来表示属性名。例如:
const person = {
name: 'John',
age: 30
};
const propertyName = 'name';
console.log(person[propertyName]); // 输出:John
在上面的例子中,我们使用了一个变量 propertyName 来表示属性名,然后使用括号表示法访问了 person 对象的 name 属性。
再看一个例子:
const person = {
name: 'John',
age: 30
};
function getProperty(prop) {
return person[prop];
}
console.log(getProperty('name')); // 输出:John
在上面的例子中,我们定义了一个函数 getProperty,它接收一个参数 prop,然后使用括号表示法访问了 person 对象的属性。这里的 prop 参数可以是一个变量,也可以是一个表达式。
使用点表示法可以方便地访问对象属性,但是它要求属性名必须是一个合法的标识符。如果属性名不是一个合法的标识符,就要使用括号表示法。括号表示法不仅可以使用字符串来表示属性名,还可以使用变量或者表达式来表示动态属性名。