在 JavaScript 中使用连字符访问对象属性

使用括号表示法访问带有连字符的对象属性,例如 obj['with-hyphen']。 有两种方法可以访问对象的属性 – 点表示法和括号表示法。 如果属性包含连字符、空格或特殊符号,则必须使用括号表示法。

const obj = {
  'with-hyphen': 'value1',
  'with space': 'value2',
  'with.symbol': 'value3',
};

console.log(obj['with-hyphen']); // 👉️ "value1"
console.log(obj['with space']); // 👉️ "value2"
console.log(obj['with.symbol']); // 👉️ "value3"

我们使用括号表示法来访问包含连字符的对象属性。

访问对象属性的两种方式是:

  • 点符号
  • 括号符号
const obj = {
  country: 'Chile',
};

console.log(obj.country); // 👉️ "Chile"
console.log(obj['country']); // 👉️ "Chile"

大多数开发人员通常使用点符号语法,除非键名包含空格、连字符、特殊符号或存储在变量中。

在任何这些场景中,我们都必须使用方括号 [] 表示法。

这是括号表示法的另一个常见用例——它们的键存储在一个变量中。

const obj = {
  country: 'Chile',
};

const key = 'country';

console.log(obj[key]); // 👉️ "Chile"

如果我们要使用 obj.key 访问该属性,我们将访问一个名为 key 的属性。

通过在方括号之间传递变量,它得到评估并允许我们访问 country 属性。