javascript 对象是数据结构名称还是另一个类的实例?



我对JavaScript对象感到非常困惑(作为一个C++开发人员(。这怎么可能

var myObj = {key1: "Hello", key2: "World"};

是类的实例还是只是数据结构的名称?为什么他们甚至称它为物体?

假设它本身是一个类,为什么使用冒号而不是等号(假设内容是变量(?

Javascript不是一种基于类继承的语言。 它是基于原型继承的。 当您创建一个带有一组大括号的新对象时,它本质上与执行此操作相同

var myObj = new Object()

用 JavaScript 创建的所有内容最初都继承自 Object

es6 之后的 JavaScript 确实使用了像 class 这样的关键字,但它纯粹是语法糖。 这是为了帮助其他开发人员习惯JavaScript及其奇怪的方式。 对MDN做一些研究,你的所有答案都在那里。

参见 MDN:

JavaScript 中几乎所有的对象都是 Object 的实例;典型的对象从 Object.prototype 继承属性(包括方法(,尽管这些属性可能会被阴影化(也称为被覆盖(。

相关内容

最新更新