我想知道 JavaScript 中什么被视为对象,以便我可以回答数字文字 1(或任何其他文字)是否是对象的简单问题。
我尝试过这些
typeof 1
> "number"
1 instanceof Number
> false
Number(1) instanceof Number
> false
Number(1) instanceof Object
> false
Number instanceof Object
> true
new Number(1) instanceof Object
> true
new Number(1) instanceof Number
>true
(1).constructor
> ƒ Number() { [native code] }
(1).constructor.constructor
> ƒ Function() { [native code] }
(1).constructor.constructor.constructor
> ƒ Function() { [native code] }
(1).constructor.constructor.constructor.constructor
> ƒ Function() { [native code] }
Function instanceof Object
> true
1 === Number(1)
> true
1 === new Number(1)
> false
(1).constructor
> ƒ Number() { [native code] }
(new Number(1)).constructor
> ƒ Number() { [native code] }
Number.constructor
> ƒ Function() { [native code] }
Function instanceof Object
> true
那么...谁能告诉我这个问题是否可以回答?
javascript 如何区分文字 1 和 new Number(1)
如果他们有相同的构造函数? JS 是否只是骗我说它们具有相同的构造函数?
什么是对象? 也许这并不重要,但我很好奇这是否有某种基于规则的答案。
任何人都可以指导我了解我所看到的内容吗?因为对我来说有意义的是 Javascript 中有不同的对象层次结构,而 JS 在文字的构造函数方面对我撒谎......
最佳答案
1
是一个基元,因为它是一个数字。
在 javascript 中有 6 种不同的类型或原语:
- bool 值
- 数量
- 字符串
- 空
- 未定义
- 符号
其他一切都是对象。
关于javascript - 1 是 JavaScript 中的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46198410/