JavaScript:如何检查字符串是字面量还是对象?


在本文中,我们将探讨字符串以及根据需求如何将其用作字面量和对象。

JavaScript 字面量

JavaScript **字面量** 可以理解为在源代码中表示固定值的表示形式。在大多数语言中,值由整数、浮点数、字符串、布尔值、字符、数组、记录等表示。

JavaScript 对象

另一方面,JavaScript **对象** 可以定义为一组无序的原始数据类型(有时还有引用数据类型)的列表,这些类型以键值对的形式存储。在此列表中,每个项目都定义为一个属性。

Learn JavaScript in-depth with real-world projects through our JavaScript certification course. Enroll and become a certified expert to boost your career.

typeof 运算符

现在我们如何检查字符串是字面量还是对象。

为此,我们将使用 **typeof** 运算符。**typeof** 运算符返回 JavaScript 中任何数据类型的类型并返回其实际数据类型。操作数可以是字面量或数据结构,例如变量、函数或对象。运算符返回数据类型。

我们还可以使用 **instanceof** 运算符来比较实例与 Object。它将返回特定对象的实例。

示例

在下面的示例中,我们将以字面量形式和对象形式定义字符串。定义好形式后,我们将使用 typeof 或 instanceof 方法来检查字符串是字面量类型还是对象类型。

# index.html

Open Compiler
<!DOCTYPE html> <html lang="en"> <head> <title>Checking String type</title> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible"content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <h1 style="color: green;">Welcome to Tutorials Point</h1> <script> function check(str) { if(str instanceof String) { return "It is an object of string"; } else { if(typeof str === "string") { return "It is a string literal"; } else { return "another type"; } } } // Pass a literal console.log(check("Simply Learning")); // Pass an object of string let s = new String("Hi"); console.log(check(s)); </script> </body> </html>

输出

更新于: 2022年4月26日

2K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告