如何在 JavaScript 中获取字符串的原始值?


在 JavaScript 中,如果数据不是对象并且没有方法和属性,则称为原始数据类型或原始值。JavaScript 中不同类型的原始数据类型包括字符串、数字、布尔值、未定义、符号、空值和大整数。

布尔值、字符串和数字等原始类型可以由它们的包装对象包装,即分别为 Boolean、String 和 Number 构造函数的实例。

要从对象包装器中获取原始值,我们需要在对象上调用 valueOf() 方法。

示例

以下示例演示了布尔值、字符串和数字的原始类型和对象类型:

console.log("boolean :::::"); console.log("type of 'true': "+typeof true); console.log("type of 'new Boolean()': "+typeof new Boolean()); console.log("value of 'new Boolean(true)': "+new Boolean(true).valueOf()); console.log("string :::::"); console.log("type of 'abc': "+typeof "abc"); console.log("typeof 'new String()': "+typeof new String("abc")); console.log("value of 'new String('abc')': "+new String("abc").valueOf()); console.log("number :::::"); console.log("type of '123': "+typeof 123); console.log("type of 'new Number()': "+typeof new Number(123)); console.log("value of 'new Number(123)': "+new Number(123).valueOf());

字符串的原始值

字符串的原始值由 valueOf() 方法作为字符串数据类型返回。

但是,对于 Number 类型的对象,function valueOf() { [native code] }() 返回对象表示的原始数值。类似地,它返回 Boolean 对象的原始布尔值和 String 对象的字符串。

很少需要直接调用此函数。当对象用于期望原始值的地方时,JavaScript 会自动执行此操作。

自动调用函数valueOf() { [native code] }(),区分原始值及其对应的对象比较困难。例如,typeof() 运算符区分字符串和 String 对象,但在实践中,您可以在 JavaScript 代码中互换使用它们。

语法

valueOf() 语法如下:

stringName.valueOf()

valueOf() 方法不接受任何参数,并返回调用 String 对象的原始值,即字符串本身。由于它返回字符串,这意味着它不会将对象更改为字符串,它只是返回给定对象的字符串。

示例 1

以下是一个 valueOf() 函数的示例。在这里,我们正在检索 Sting 对象的值:

var str = new String('You are viewing this content in Tutorials Point Website'); console.log("The given input object with its type is:",str) console.log(typeof(str)); console.log("The primitive value of the given string object with its type is:",str.valueOf()) console.log(typeof(str.valueOf()));

示例 2

让我们再看一个例子:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>valueOf()</title> </head> <body> <h3>The valueOf() Method - Strings</h3> <p>The valueOf() method will return the primitive value of the string in JS</p> <p id="d"></p> <script> let tp = new String("This tutorial is about valueOf() method and primitive values"); let res = tp.valueOf() document.getElementById("d").innerHTML = res +"<br/>" + typeof(tp) +" returned as: " + typeof(res); </script> </body> </html>

更新于: 2022-08-26

1K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告