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的对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript数据类型及相互间的转换规则 - Python技术站