gpt4 book ai didi

JavaScript 类型

转载 作者:行者123 更新时间:2023-12-03 02:10:00 24 4
gpt4 key购买 nike

根据http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf ,JavaScript 有 6 种类型:undefinednullbooleanstringnumber对象

var und;
console.log(typeof und); // <-- undefined

var n = null;
console.log(typeof n); // <--- **object**!

var b = true;
console.log(typeof b); // <-- boolean

var str = "myString"
console.log(typeof str); // <-- string

var int = 10;
console.log(typeof int); // <-- number

var obj = {}
console.log(typeof obj); // <-- object

问题 1:

为什么object类型是null而不是null

问题2:

函数呢?

var f = function() {};
console.log(typeof f); // <-- function

变量f的类型为function。为何规范中没有明确说明作为一个单独的类型?

谢谢

最佳答案

关于typeof null == 'object',这是一个很早就出现的错误,不幸的是这个错误会伴随我们很长一段时间,它是too late将在 ECMAScript 第 5 版 版本规范中修复。

关于函数,它们只是对象,但它们有一个特殊的内部属性,名为 [[Call]]调用函数时在内部使用。

typeof运算符仅通过检查对象是否具有此内部属性来区分普通对象和函数。

关于JavaScript 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2518276/

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