转换JS隐式类型
# 转换JS隐式类型
# 快速转换Number类型
// 字符串转数字代码对比
const price = parseInt('32'); //传统方式
const price = Number('32'); //传统方式
const price = +'32'; //新方式
// 日期转换为时间戳代码对比
const timeStamp = new Date().getTime(); //传统方式
const timeStamp = +new Date(); //新方式
//布尔转数字新方式
console.log(+true); // Return: 1
console.log(+false); // Return: 0
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 快速转换Boolean类型
当你使用双感叹号 (!!
) 对一个值进行转换时,它会将该值强制转换为其相应的布尔值,并返回该布尔值。这在需要将值转换为布尔值进行比较时非常有用。
// 各种类型转布尔代码对比
const isTrue = Boolean('') //传统方式
const isTrue = !!'' //新方式
const isTrue = Boolean(0) //传统方式
const isTrue = !!0 //新方式
const isTrue = Boolean(null) //传统方式
const isTrue = !!null //新方式
const isTrue = Boolean(undefined) //传统方式
const isTrue = !!undefined //新方式
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 实例
在这个例子中,!!x
返回 true
,因为字符串 "hello"
被转换为 true
。而 !!y
返回 false
,因为 null
被转换为 false
。
const x = "hello";
const y = null;
console.log(!!x); // true
console.log(!!y); // false
1
2
3
4
5
2
3
4
5
# 快速转换String类型
// 数字转string代码对比
const num = 1;
const str = num.toString(); //传统方式
const str = num + ''; //新方式
const str = `${num}`; //新方式
1
2
3
4
5
6
7
2
3
4
5
6
7
上次更新: 2024/08/14, 04:14:33