JS 中 instanceof 和 typeof 的区别

本文详细解析了JavaScript中的instanceof与typeof操作符的区别。instanceof用于判断对象是否为特定类的实例,而typeof则返回变量的数据类型。通过实例演示了两者在不同情况下的应用。

 

 Js中的instanceof和typeof两个经常会搞混,现在就来分析下:

    1. instanceof

    返回一个Boolean值,指出对象是否是特定类的一个实例。

 

var s = new String("abc");  
console.log(s instanceof String);   //true  
  
var s = "abc";  
console.log(s instanceof String);   //false 
 

    2.typeof

    返回一个字符串,这个字符串只能是以下6种之一"number," "string," "boolean," "object," "function," "undefined." 它是一个返回表达式的数据类型的操作符。

 

var s = new String("abc");  
console.log(typeof s == "string"); //false  
  
var s = "abc";  
console.log(typeof s == "string");  //true
 

  总结:在对象之间比较时,使用instanceof;在基本类型之间比较时使用typeof

 

JavaScript中,`instanceof``typeof`是两个常用的操作符,用于检查变量的类型。它们的用法如下: 1. `instanceof`操作符用于检查一个对象是否是某个类的实例。语法如下: ```javascript obj instanceof Class ``` 这里,`obj`是要检查的对象,`Class`是要检查的类。如果`obj`是`Class`的实例或者是其子类的实例,则返回`true`,否则返回`false`。 示例: ```javascript class Person {} const person = new Person(); console.log(person instanceof Person); // true console.log(person instanceof Object); // true,因为所有对象都是Object的实例 ``` 2. `typeof`操作符用于确定一个值的数据类型。语法如下: ```javascript typeof value ``` 这里,`value`是要检查的值。返回值为一个表示数据类型的字符串,可能的取值包括: - `'undefined'`:未定义的变量或属性 - `'boolean'`:布尔值 - `'number'`:数值 - `'string'`:字符串 - `'symbol'`:符号值(ES6新增) - `'function'`:函数 - `'object'`:对象(包括数组、null等) 示例: ```javascript console.log(typeof undefined); // 'undefined' console.log(typeof true); // 'boolean' console.log(typeof 42); // 'number' console.log(typeof 'hello'); // 'string' console.log(typeof Symbol('symbol')); // 'symbol' console.log(typeof function() {}); // 'function' console.log(typeof {}); // 'object' console.log(typeof []); // 'object' console.log(typeof null); // 'object',注意这里的历史遗留问题 ``` 希望以上解释对你有帮助!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值