📜  类型显式转换 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:41:10.562000             🧑  作者: Mango

类型显式转换 js - Javascript

在 JavaScript 中,变量和值可以随时被隐式或显式转换为其它类型。隐式转换是自动完成的,而显式转换需要在代码中进行指定。

显式转换可以很方便地改变变量的类型,以满足代码的需要。下面将介绍 JavaScript 中的各种显式类型转换方式。

数值转换

将变量转换为数值类型,可以使用以下三个函数:

  • Number(): 该函数会尝试将参数转换为数值类型。如果参数为字符串,则会将其解析为数字。如果参数为对象,则会先调用其 valueOf() 方法,如果返回值不是基本类型,则会调用其 toString() 方法。
  • parseInt(): 该函数会解析字符串,返回一个整数。如果字符串以非数字(字母、空格、符号等)开头,则返回 NaN。如果字符串以数字开头,则解析到第一个非数字为止。该函数可以接受一个可选的第二个参数,表示将字符串解析为几进制数(默认为十进制)。
  • parseFloat(): 该函数会解析字符串,返回一个浮点数。

示例:

let a = "123";              // 字符串
let b = Number(a);          // 将字符串转换为数值
console.log(typeof b);      // "number"

let c = "123abc";           // 字符串
let d = parseInt(c);        // 解析为整数,结果为 123
console.log(typeof d);      // "number"

let e = "123.456";          // 字符串
let f = parseFloat(e);      // 解析为浮点数,结果为 123.456
console.log(typeof f);      // "number"
字符串转换

将变量转换为字符串类型,直接使用 String() 函数即可。该函数会尝试调用变量的 toString() 方法。

示例:

let a = 123;                // 数值
let b = String(a);          // 将数值转换为字符串
console.log(typeof b);      // "string"
布尔值转换

将变量转换为布尔类型,可以使用以下两个函数:

  • Boolean(): 该函数会将参数转换为布尔值。如果参数为以下类型,将返回 false:
    • undefined
    • null
    • false
    • 0
    • NaN
    • "" (空字符串)
    • document.all (IE 中的特殊变量) 对于其它类型的参数,该函数一定会返回 true。
  • !!: 两个取反符号可以将一个值转换为布尔类型。使用该方式的等效于使用 Boolean() 函数。

示例:

let a = "hello";            // 字符串
let b = Boolean(a);         // true

let c = "";                 // 空字符串
let d = !!c;                // false
Summary

以上就是 JavaScript 中的显式类型转换方式。使用显式转换可以方便地改变变量的类型,以适应代码的需要。记住,随时使用 typeof 操作符可以检查变量的类型,以确保代码的正确性。