JavaScript typeof操作符
The JavaScript typeof 操作符用于返回表示给定值的JavaScript类型的字符串。它以字符串形式返回操作数的数据类型。操作数可以是字面值或数据结构,如函数、对象或变量。
语法
有以下两种使用typeof操作符的方法。
typeof operand
or
typeof (operand)
值
操作数: 它是一个表示要返回的对象或原始类型的表达式。
typeof操作符的可能返回值如下表所示:
Type of the operand | Result |
---|---|
object | “object” |
number | “number” |
string | “string” |
boolean | “boolean” |
function | “function” |
undefined | “undefined” |
让我们通过一些示例来理解这个运算符。
示例1
在这个示例中,操作数是数字类型。typeof运算符将打印操作数的类型,无论操作数是负整数、浮点数、无穷大、NaN、零还是任何整数,它都会打印出”number”。
<html>
<head>
<script>
document.write(typeof (45) + "<br>"); // results: "number"
document.write(typeof (-90) + "<br>"); // results: "number"
document.write(typeof (0) + "<br>"); // results: "number"
document.write(typeof (22.6) + "<br>"); // results: "number"
document.write(typeof (Infinity) + "<br>"); // results: "number"
document.write(typeof (NaN)); // results: "number". Although NaN is "Not-A-Number"
</script>
</head>
<body>
</body>
</html>
输出
执行上述代码后,输出结果为-
number
number
number
number
number
number
示例2
在这个示例中,操作数是字符串类型。 typeof 操作符将打印出操作数的类型 “string” ,无论操作数是空字符串、字符集合还是包含在引号中的数字。
<html>
<head>
<script>
document.write(typeof ("") + "<br>"); // results: "string"
document.write(typeof ("javaTpoint.com") + "<br>"); // results: "string"
document.write(typeof ("20") + "<br>"); // results: "string"
document.write(typeof (typeof 1) + "<br>"); // results: "string"
document.write(typeof String(12)); // wrapping in String function will results: "string"
</script>
</head>
<body>
</body>
</html>
输出
在执行上述代码后,输出将会是 –
string
string
string
string
string
示例3
在这个示例中,操作数是布尔类型。如果操作数为 true 或 false , typeof 运算符将打印 “boolean” 作为操作数的类型。
<html>
<head>
<script>
document.write(typeof (true) + "<br>"); // results: "boolean"
document.write(typeof (false) + "<br>"); // results: "boolean"
document.write(typeof Boolean(20) + "<br>"); // wrapping in Boolean function will results: "boolean"
</script>
</head>
<body>
</body>
</html>
输出
执行上述代码后,输出结果为-
boolean
boolean
boolean
示例4
在这个示例中,操作数的类型未定义。 typeof 操作符将打印操作数的类型为 “undefined” 。在这里, Null 的类型是 undefined ,这是因为它被写成 Null 而不是 null 。如果我们将其写成 null ,那么它的类型将是 object。
<html>
<head>
<script>
document.write(typeof Null + "<br>"); // results: "undefined"
document.write(typeof undefined + "<br>"); // results: "undefined"
document.write(typeof a + "<br>"); // results: "undefined"
</script>
</head>
<body>
</body>
</html>
输出
执行以上代码后,输出结果将为 –
undefined
undefined
undefined
示例5
在这个示例中,操作数的类型是 Object 和 Function 。根据操作数的类型, typeof 操作符将打印出 “object” 和 “function” 。
<html>
<head>
<script>
document.write(typeof null + "<br>"); // results: "object"
document.write(typeof [1, 2, 'hello'] + "<br>"); // results: "object"
document.write(typeof {a: 'hello'} + "<br>"); // results: "object"
document.write(typeof [1, 2, 3, 4] + "<br>"); // results: "object"
document.write(typeof function(){} + "<br>"); // results: "function"
document.write(typeof class hello{} + "<br>"); // results: "function"
</script>
</head>
<body>
</body>
</html>
输出
在执行上述代码后,输出将是 –
object
object
object
object
function
function