繁体   English   中英

带点符号的ES6符号

[英]ES6 Symbols with Dot Notation

在到目前为止我在ES6中使用Symbols看到的示例中,您必须使用方括号表示法访问Object常量中的symbol属性:

let mySymbol = Symbol("mySymbol");

let someObject = {
  [mySymbol]: "someValue"
};

console.log(someObject[mySymbol]); // "someValue"

有没有一种方法可以使用点表示法定义和访问符号属性?

否。必须使用方括号符号访问符号。

点表示法仅用于遵循某些规则模式的string键,大多数情况下是关于有效标识符。

符号不是字符串,它们是一个整体。

简短的合理性:符号的设计目标之一是它们不能与属性名称冲突,这使得它们可以安全使用。

因此,如果您有这样的对象

var = {
  prop1: "Value"
};

然后,您创建了一个名为prop1的符号,如何仅使用对象符号将两者分开,并以不同的方式访问它们?

否。点符号保留用于解析为属性名称 (字符串)的标识符。 而且由于向后兼容的原因,这不会改变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM