编辑
2024-02-22
面试题
00
请注意,本文编写于 273 天前,最后修改于 150 天前,其中某些信息可能已经过时。

今日问题:instanceof与typeof的区别?

Q:如果在前端面试中,被问到instanceof与typeof,怎么回答比较好,全面详细一点?

A:当被问到 instanceof 和 typeof 的区别时,你可以这样回答:

  1. typeof 运算符:
  • typeof 是 JavaScript 中的一个运算符,用于检测给定变量的数据类型。
  • 返回的结果是一个字符串,表示变量的数据类型。
  • 主要用于判断基本数据类型,如 number、string、boolean、undefined、symbol、bigint 和 object。
  • typeof 对于引用类型(对象、数组、函数等)返回的结果都是 'object',这是它的一个局限。
  1. instanceof 运算符:
  • instanceof 也是 JavaScript 中的一个运算符,用于检测一个对象是否是某个构造函数的实例。
  • 返回的结果是一个布尔值,如果对象是指定构造函数的实例,则返回 true,否则返回 false。
  • 主要用于检查对象的原型链,因此可以判断对象是否属于某个类或其父类的实例。
  • instanceof 通常用于检查自定义对象的类型,而不是基本数据类型。
  1. 区别总结:
  • typeof 检查数据类型,返回字符串。
  • instanceof 检查对象的原型链,判断对象是否属于某个类的实例。
  • typeof 适用于基本数据类型和 undefined,但对于引用类型的区分能力有限。
  • instanceof 适用于检查自定义对象的类型,可以准确地判断对象是否属于某个类的实例。
  1. 示例:
js
typeof 42; // 'number' typeof 'hello'; // 'string' typeof true; // 'boolean' typeof undefined; // 'undefined' typeof Symbol(); // 'symbol' typeof 123n; // 'bigint' typeof []; // 'object' typeof {}; // 'object' typeof function() {}; // 'function' function Car() {} var myCar = new Car(); myCar instanceof Car; // true

在回答时,可以结合示例说明 typeof 和 instanceof 的用法和区别,这样能够更直观地展示你对这两个运算符的理解。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:CreatorRay

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!