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


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

JavaScript 字面量

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

JavaScript 对象

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

typeof 运算符

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

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

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

示例

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

# index.html

<!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+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.