关键词

JavaScript数据类型及相互间的转换规则

JavaScript数据类型及相互间的转换规则

在JavaScript中,数据类型可以分为基本数据类型和引用数据类型,其中基本数据类型包括:数字、字符串、布尔值、null、undefined以及symbol(ES6新增),引用数据类型包括:对象、数组、函数等。

基本数据类型

数字

数字类型包括整数和浮点数。JavaScript中所有数字都是浮点数,例如:

let num = 10;   // 整数
let floatNum = 3.14;   // 浮点数

字符串

字符串是一组由单引号、双引号或反引号括起来的字符序列,例如:

let str1 = 'Hello world!';
let str2 = "JavaScript is great!";

布尔值

布尔值只有两种取值:true和false,例如:

let isDone = true;
let isOver = false;

null

null表示一个空对象指针,例如:

let value = null;

undefined

undefined表示一个未定义的值,例如:

let value;
console.log(value);   // 输出undefined

Symbol

Symbol是一种新增的基本数据类型,它表示一种唯一标识符。每个Symbol值都是唯一的,例如:

let sym1 = Symbol('foo');
let sym2 = Symbol('foo');
console.log(sym1 === sym2);   // 输出false

引用数据类型

对象

对象是一组无序的键值对集合,例如:

let obj = {
    name: '张三',
    age: 20,
    gender: '男'
};

数组

数组是一组有序的数据集合,例如:

let arr = [1, 2, 3, 4];

函数

函数是一段可重复使用的代码块,例如:

function add(a, b) {
    return a + b;
}

数据类型相互间的转换规则

JavaScript中的数据类型间可以互相转换,转换规则如下:

字符串转数字

字符串可以通过调用Number()或parseFloat()函数转换为数字,例如:

let str = '123';
console.log(Number(str));   // 输出123
console.log(parseFloat(str));   // 输出123

数字转字符串

数字可以通过调用toString()或String()函数转换为字符串,例如:

let num = 123;
console.log(num.toString());   // 输出'123'
console.log(String(num));   // 输出'123'

布尔值转数字

true转换为数字1,false转换为数字0,例如:

let isDone = true;
console.log(Number(isDone));   // 输出1

数字转布尔值

除0和NaN以外的数字都转换为true,0和NaN转换为false,例如:

console.log(Boolean(123));   // 输出true
console.log(Boolean(0));   // 输出false
console.log(Boolean(NaN));   // 输出false

对象转原始类型

对象转字符串

对象可以通过调用toString()或valueOf()方法将其转换为字符串,例如:

let obj = {};
console.log(obj.toString());   // 输出'[object Object]'
console.log(obj.valueOf());   // 输出{}

对象转数字

对象可以通过valueOf()方法将其转换为数字,例如:

let obj = { valueOf: function() { return 123; } };
console.log(Number(obj));   // 输出123

字符串和数字之间的转换

字符串转数字

如果字符串只包含数字字符,则直接转换为数字,否则转换为NaN,例如:

console.log(Number('123'));   // 输出123
console.log(Number('3.14'));   // 输出3.14
console.log(Number('abc'));   // 输出NaN

数字转字符串

直接调用toString()方法将数字转换为字符串即可,例如:

console.log(123.toString());   // 输出'123'
console.log(String(3.14));   // 输出'3.14'

示例说明

示例一

let str = '123';
console.log(Number(str));   // 输出123
console.log(parseFloat(str));   // 输出123

这个例子演示了如何将字符串'123'转换为数字。

示例二

let obj = { valueOf: function() { return 123; } };
console.log(Number(obj));   // 输出123

这个例子演示了如何将对象转换为数字,使用了valueOf()方法返回一个包含数字123的对象。

本文链接:http://task.lmcjl.com/news/8443.html

展开阅读全文