引号中的代码段是说:我们可以通过在属性名称周围使用方括号来在对象表达式和类中包含符号属性。 这会导致属性名称被计算,就像方括号属性访问符号一样,这使我们能够引用保存符号的绑定。
let stringObject = {
[toStringSymbol]() { return "a jute rope"; }
};
console.log(stringObject[toStringSymbol]());
// → a jute rope
据我理解(在我的JS之旅中),"binding"与指定函数的上下文或对象上下文有关。请参见此处。绑定可能与上下文相关。这就是为什么我们有 .bind()
。
但在这个例子中,我们绑定了其他东西(一个键为符号的方法)。binding
是否只意味着将属性(原始值或方法)附加到对象上?