js中typeof和instanceof的区别
文章标签
区别
javascript 中 typeof 和 instanceof 的区别:typeof 返回一个字符串,表示变量的原始类型。instanceof 返回一个布尔值,表示变量是否属于给定的构造函数。typeof 检查原始和引用类型,而 instanceof 仅检查引用类型。typeof 返回变量的原始类型,而 instanceof 检查变量是否属于指定构造函数的实例。
JavaScript 中 typeof 和 instanceof 的区别
JavaScript 中的 typeof 和 instanceof 都是用来检查变量类型的方法,但它们有不同的用途和行为。
typeof
instanceof
主要区别
特征 | typeof | instanceof |
---|---|---|
返回值 | 字符串 | 布尔值 |
检查类型 | 原始和引用类型 | 引用类型 |
行为 | 返回变量的原始类型 | 检查变量是否属于指定构造函数的实例 |
示例
// 原始类型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" (实际类型为对象)// instanceoflet person = { name: "John Doe" };console.log(person instanceof Object); // true
总结
typeof 用于检查变量的原始类型,而 instanceof 用于检查变量是否属于给定的构造函数。虽然它们都可以检查变量类型,但它们有不同的用途和返回不同类型的值。