JavaScript 如何将字符串作为字面量和对象进行测试

JavaScript 如何将字符串作为字面量和对象进行测试

在本文中,我们将学习如何使用JavaScript将字符串作为字面量和对象进行测试。

什么是JavaScript字面量

字面量是一种表示源代码中固定值的方式。在大多数编程语言中,值由整数、浮点数、字符串来表示,通常也由布尔值、字符、枚举类型和复合值(如数组、记录和对象)来表示。

什么是JavaScript对象

每个对象由一个无序列表<ol>组成,该列表包含作为名称和值对存储的原始数据类型(有时还包括引用数据类型)。列表中的每个项都是一个属性。

有几种方法可以用来测试字符串作为字面量和对象。

  • 使用typeof运算符
  • 使用instanceof运算符
  • constructor属性

我们将通过示例来探讨上述所有方法,以及它们的基本实现。

方法1:使用typeof运算符

JavaScript中的typeof运算符返回一个标识表达式数据类型的字符串。它用于确定操作数的数据类型(返回一个字符串)。操作数可以是字面量或数据结构,如变量、函数或对象。运算符返回数据的类型。typeof的结果可以是对象、布尔值、函数、数字、字符串或未定义的值。

示例: 在这个示例中,我们将使用if-else条件来检查字符串是对象还是字面量。

Javascript

const myString = "Hello, Geeks";
console.log(typeof myString);
 
const myStringObj = new String("Hello, GeeksforGeeks");
console.log(typeof myStringObj);
JavaScript

输出

string
object
JavaScript

方法2:使用 instanceof 运算符

instanceof 运算符:它检查左侧的对象是否是右侧类的对象。如果对象是该特定类的实例,则返回 true,否则返回 false。

示例: 第一个 myString 不是 String 的实例,因为它是一个字面量。第二个 myStringObj 是 String 的实例,因为它是一个对象。

Javascript

//checking for string
const myString = "Hello, Geeks";
console.log(myString instanceof String);
 
// checking for mystringObj is string or not
const myStringObj = new String("Hello, GeeksforGeeks");
console.log(myStringObj instanceof String);
JavaScript

输出

false
true
JavaScript

方法3:使用constructor属性

使用constructor属性来检查一个变量是字符串字面量还是String构造函数的对象,如果输入的constructor属性匹配String,那么它被认为是一个字符串字面量。如果constructor属性匹配String.prototype.constructor,那么它被认为是String构造函数的对象。

示例: 在这个示例中,check()函数使用constructor属性来确定输入是一个字符串字面量还是String构造函数的对象。

Javascript

function check(str) {
    if (str.constructor === String) {
        return "It is a string literal";
    } else if (str.constructor === String.prototype.constructor) {
        return "It is an object of string";
    } else {
        return "Another type";
    }
}
 
// Pass a string literal
console.log(check("Hello, Geeks"));
 
// Pass an object of string
let result = new String("Hello, GeeksforGeeks");
console.log(check(result));
JavaScript

输出

It is a string literal
It is a string literal
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册