fe-interview
fe-interview copied to clipboard
[js] 第314天 看下面代码,判断a和b的类型是否为true?为什么?什么是基本包装类型?[代码]
第314天 看下面代码,判断a和b的类型是否为true?为什么?什么是基本包装类型?[代码]
作者:warnerhu
var a=1;
var b = new Number(1);
typeof(a)===typeof(b);
先说结果,输出是false; a是基本数据类型number,b是通过new 操作符创建的引用类型实例,所以typeof(b) 是object,因而结果为false。 基本包装类型是ECMAScript为了便于操作基本类型值提供的三种特殊的引用类型(function),包括:Number、String、Boolean
- 为false ,因为a是数字类型,b为对象(数字的包装对象)
我的答案
- 回答代码结果 a和b的类型不一样,是false。
- 原因 b变量是使用了new Number()将原始数值类型的1包装成为了一个原始数值对象,这样b变量的类型就是‘object’。 a变量的类型是‘number’。 所以2者不一样。
- 简述原始包装类型 ① 简述概念 原始包装类型是当要使用原始值的属性或者方法的时候,后台会自动创建一个对应原始值的对象,以达到暴露出操作原始值的各种方法。这个创建的对象就是原始值包装类型。 ②原始包装类型种类 目前有 String、Number、Boolean、Symbol 和 BigInt这几类。
false,因为类型不一致,a是基本类型number而b是对象。 所谓“包装对象”,指的是与数值、字符串、布尔值分别相对应的Number、String、Boolean三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象