带点符号的 ES6 符号

ES6 Symbols with Dot Notation

在我目前看到的在 ES6 中使用 Symbols 的示例中,您必须使用方括号表示法访问对象字面量中的符号属性:

let mySymbol = Symbol("mySymbol");

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

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

有没有办法使用点符号来定义和访问符号属性?

没有。必须使用括号表示法访问符号。

点符号仅用于 string 遵循特定规则模式的键,主要是作为有效标识符。

符号不是字符串,它们是一个完全不同的东西。

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

所以,如果你有这样的对象

var = {
  prop1: "Value"
};

并且您创建了一个名为 prop1 的符号,您如何仅使用对象表示法来区分两者并以不同方式访问它们?

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