返回
day06 typeof 与 instanceof 原理
前端
2023-10-22 00:21:28
typeof 原理
typeof
运算符用于检测变量的类型。它返回一个字符串,表示变量的类型。typeof
运算符可以检测以下几种类型:
- number
- string
- object
- boolean
- function
- undefined
- symbol
例如,以下代码将输出 "number":
console.log(typeof 123); // "number"
以下代码将输出 "string":
console.log(typeof "hello"); // "string"
以下代码将输出 "object":
console.log(typeof {}); // "object"
以下代码将输出 "boolean":
console.log(typeof true); // "boolean"
以下代码将输出 "function":
console.log(typeof function() {}); // "function"
以下代码将输出 "undefined":
console.log(typeof undefined); // "undefined"
以下代码将输出 "symbol":
console.log(typeof Symbol()); // "symbol"
instanceof 原理
instanceof
运算符用于检测变量是否是某个类的实例。它返回一个布尔值,表示变量是否是某个类的实例。instanceof
运算符可以检测以下几种类型:
- 类
- 函数
- 对象
例如,以下代码将输出 true
:
class Person {
}
const person = new Person();
console.log(person instanceof Person); // true
以下代码将输出 false
:
const person = {};
console.log(person instanceof Person); // false
typeof 和 instanceof 的区别
typeof
和 instanceof
都是 JavaScript 中用于检测变量类型的运算符,但它们之间存在一些区别。
typeof
返回一个字符串,表示变量的类型。instanceof
返回一个布尔值,表示变量是否是某个类的实例。typeof
可以检测所有类型的变量,而instanceof
只可以检测类、函数和对象的实例。typeof
的运算速度比instanceof
快。
typeof 和 instanceof 的用法
typeof
和 instanceof
运算符在 JavaScript 中有很多用法。例如,我们可以使用它们来:
- 检测变量的类型。
- 检查变量是否是某个类的实例。
- 确定变量是否为某个值。
- 将变量转换为另一种类型。
总结
typeof
和 instanceof
都是 JavaScript 中用于检测变量类型的运算符。typeof
返回一个字符串,表示变量的类型。instanceof
返回一个布尔值,表示变量是否是某个类的实例。typeof
可以检测所有类型的变量,而 instanceof
只可以检测类、函数和对象的实例。typeof
的运算速度比 instanceof
快。typeof
和 instanceof
运算符在 JavaScript 中有很多用法。