使用非 ASCII 字符作为 JavaScript 对象键

Rap*_*tor 6 javascript object

我有以下对象:

var obj = {
  '?' : 'testing',
  '?' : '2015-5-15',
  '?' : 123,
  '?' : 'Good'
};
Run Code Online (Sandbox Code Playgroud)

如何通过其非 ASCII 键(在本例中为日语字符)访问值?

不能使用obj.?obj.'?'肯定,这会导致 JavaScript 解析错误。

Hun*_*len 6

您可以使用下标来引用对象:

> var obj = {
  '?' : 'testing',
  '?' : '2015-5-15',
  '?' : 123,
  '?' : 'Good'
};
> undefined
> obj['?']
> "testing"
Run Code Online (Sandbox Code Playgroud)

您也不应该将 JavaScript 对象中的对象键和值用:(冒号)而不是=>(粗逗号)分隔


Cym*_*men 5

您可以使用属性访问器:

obj['?']

例子:

var obj = {
  '?': 'testing',
  '?': '2015-5-15',
  '?': 123,
  '?': 'Good'
};

console.log(obj['?']);
> Good
Run Code Online (Sandbox Code Playgroud)

MDN:属性访问器