为什么我不能在不使用字符串的情况下向我的对象添加Dog Face(u + 1f436)字段?

Kyl*_*yll 3 javascript unicode

这个:

var foo = {
  : true //Truely adorable
};
Run Code Online (Sandbox Code Playgroud)

在Firefox和Chrome上给我一个非法字符错误.然而,

var foo = {
  '' : true
};
Run Code Online (Sandbox Code Playgroud)

完美的工作.为什么?
(您也可以回答更多的Unicode字符,但我真的想了解更多关于Dog的信息)

Hau*_* P. 6

正如ECMAScript标准所定义的那样,有效标识符必须以具有Unicode属性的Unicode代码点开头ID_Start.

这是不是这样可怜的狗.:(

您可以使用以下任何代码点作为标识符的第一个字符:

http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:ID_Start=Yes:]