javaScript 数据类型和类型转换详细示例

79 阅读2分钟

JavaScript 中的数据类型和类型转换是编程中的基础概念。下面我将通过一些示例来详细说明 JavaScript 中的数据类型和类型转换。

数据类型

JavaScript 中有以下几种基本数据类型:

  1. 字符串(String):文本数据,用单引号、双引号或反引号包围。

    let str = "Hello, World!";
    
  2. 数字(Number):整数或浮点数。

    let num = 42;
    let floatNum = 3.14;
    
  3. 布尔值(Boolean):只有两个值,truefalse

    let bool = true;
    
  4. 空值(Null):表示一个空值。

    let nullValue = null;
    
  5. 未定义(Undefined):变量未被赋值时的默认值。

    let undefinedVar;
    
  6. 符号(Symbol):在 ES6 中引入,用于创建唯一的标识符。

    let sym = Symbol("description");
    
  7. 大整数(BigInt):在 ES2020 中引入,用于表示大于 2^53 - 1 的整数。

    let bigInt = BigInt(9007199254740991);
    

类型转换

JavaScript 中的类型转换可以分为两种:隐式类型转换和显式类型转换。

隐式类型转换

隐式类型转换发生在 JavaScript 运行时,当操作数类型不匹配时,JavaScript 会自动尝试转换它们。

// 字符串与数字相加
let result = "5" + 5; // 结果是字符串 "55"

// 数字与布尔值相加
result = 5 + true; // 结果是数字 6,因为 true 被转换为 1

// 字符串与布尔值相加
result = "The number is: " + false; // 结果是字符串 "The number is: false"

显式类型转换

显式类型转换需要开发者明确指定转换的类型。

// 使用 Number() 函数将字符串转换为数字
let numStr = "123";
let num = Number(numStr); // num 是数字 123

// 使用 parseInt() 函数将字符串转换为整数
let intStr = "456";
let int = parseInt(intStr); // int 是数字 456

// 使用 parseFloat() 函数将字符串转换为浮点数
let floatStr = "78.9";
let float = parseFloat(floatStr); // float 是数字 78.9

// 使用 String() 函数将数字转换为字符串
let num = 123;
let str = String(num); // str 是字符串 "123"

// 使用 Boolean() 函数将其他类型转换为布尔值
let bool = Boolean(""); // 空字符串转换为 false
let bool2 = Boolean(0); // 数字 0 转换为 false

在进行类型转换时,需要注意的是,某些转换可能会导致数据丢失或不准确的结果。例如,将非数字字符串转换为数字时,如果字符串中包含非数字字符,结果将是 NaN(Not a Number)。因此,在进行类型转换时,应该始终检查转换是否成功,以及是否得到了预期的结果。