卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

js中typeof和instanceof的区别

javascript 中 typeof 和 instanceof 的区别:typeof 返回一个字符串,表示变量的原始类型。instanceof 返回一个布尔值,表示变量是否属于给定的构造函数。typeof 检查原始和引用类型,而 instanceof 仅检查引用类型。typeof 返回变量的原始类型,而 instanceof 检查变量是否属于指定构造函数的实例。

js中typeof和instanceof的区别

JavaScript 中 typeofinstanceof 的区别

JavaScript 中的 typeofinstanceof 都是用来检查变量类型的方法,但它们有不同的用途和行为。

typeof

  • 返回一个字符串,表示变量的原始类型。
  • 可以用来检查原始类型(如字符串、数字和布尔值)和引用类型(如对象、数组和函数)。
  • 语法: typeof variable

instanceof

  • 返回一个布尔值,表示变量是否属于给定的构造函数。
  • 语法: variable instanceof constructor

主要区别

特征 typeof instanceof
返回值 字符串 布尔值
检查类型 原始和引用类型 引用类型
行为 返回变量的原始类型 检查变量是否属于指定构造函数的实例

示例

<code class="javascript">// 原始类型
console.log(typeof "Hello"); // "string"
console.log(typeof 123); // "number"
console.log(typeof true); // "boolean"

// 引用类型
console.log(typeof [1, 2, 3]); // "object" (实际类型为数组)
console.log(typeof { name: "John Doe" }); // "object" (实际类型为对象)

// instanceof
let person = { name: "John Doe" };
console.log(person instanceof Object); // true

总结

typeof 用于检查变量的原始类型,而 instanceof 用于检查变量是否属于给定的构造函数。虽然它们都可以检查变量类型,但它们有不同的用途和返回不同类型的值。

卓越飞翔博客
上一篇: js中typeof怎么用
下一篇: js中布尔类型怎么定义
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏