gpt4 book ai didi

javascript - 为什么许多 Standard 内置对象实际上是函数,却被称为对象?

转载 作者:行者123 更新时间:2023-11-30 06:20:15 25 4
gpt4 key购买 nike

Here is the list在 MDN 上。一些标准内置对象实际上是像

这样的对象
typeof WebAssembly // "object"

但其他都是函数

typeof Array // "function"
typeof Number // "function"

最佳答案

在 JS 中,一切都是对象。包括函数和数组。

例如,您可以这样做:

function foo() {}
foo.bar = 123
console.log(foo.bar) // 123

基元(字符串、数字、 bool 值、未定义、空、符号)是有点对象:

let foo = 'bar'
console.log(foo.length) // 3
foo.length = 5
console.log(foo.length) // 3, because mutation of primitive objects is prohibited

关于为什么ArrayNumber 是函数,而不仅仅是普通对象。因为它们也被用作构造函数(与 WebAssembly 不同):

let arr = Array(1,2,3) // [1,2,3]
let num = Number('123') // 123

关于javascript - 为什么许多 Standard 内置对象实际上是函数,却被称为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53598244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com