我一直在关注 Eloquent Javascript 并遇到了这段代码:
var protoRabbit = {
speak: function(line) {
console.log("The " + this.type + " rabbit says '" +
line + "'");
}
};
来自 C/C++ 的背景,这种语法让我大吃一惊。物业类型从何而来?当我们运行 protoRabbit.speak() 时,它是否添加到 protoRabbit 中?提前致谢。
编辑:感谢您的回复。我很抱歉,因为我似乎没有把我的问题说得很清楚。我感到困惑的是,在我们初始化它之前,属性“类型”是否必须存在。如:
var protoRabbit = {type: "some value", speak: ... };
当我们初始化它时,它会自动添加为属性吗?如果 protoRabbit 是 const,那会违反 const 初始化吗?