JS类型转换

类型转换
1.String->Number
const string = "99";
// 隐式转换
console.log(string * 1 + 77);
// 显式转换
console.log(Number(string) + 77);

在这里插入图片描述

2.Number->String
const number = 66;
console.log(typeof number);
// 隐式转换
console.log(typeof (number + ""));
// 显式转换
console.log(typeof String(number));

在这里插入图片描述

3.混合String->Number

把位于开头的数值字符串转为数值型

const string = "66.66alison";
console.log(parseInt(string));
console.log(parseFloat(string));

在这里插入图片描述

4.String->Array
const name = "alison";
console.log(name.split(""));

在这里插入图片描述

5.Array->String
const array = ["yooo", "alison", "ruby", "andy"];
console.log(array.join(""));
console.log(array.join("&"));

在这里插入图片描述

6.Array->Number

空数组为0,x单元素数组为x,多元素数组为NaN

console.log(Number([]));
console.log(Number([3]));
console.log(Number([1, 2, 3]));

在这里插入图片描述

7.toString()

主要用于将Array(由逗号隔开)、Boolean、Date、Number等对象转换成String。

const array = ["yooo", "alison", "ruby", "andy"];
console.log(array.toString());
const number = 99;
console.log(typeof number.toString());

在这里插入图片描述

8.Boolean隐式转换

比较和运算是两件事

(1)比较

在将boolean与number、string比较时,会隐式地将boolean中的true转为1、false转为0

let number = 99;
console.log(number == true);

在这里插入图片描述

let hd = '0';
let hd2 = "1";
let hd3 = "99";
console.log(hd == false);
console.log(hd2 == true);
console.log(hd3 == true);

在这里插入图片描述

(2)运算

在运算中string和number会被隐式转换为boolean

let number = 99;
if (number) console.log("number");

在这里插入图片描述

(3)其他类型转换为Boolean
console.log(Boolean([]));
console.log(Boolean({}));

在这里插入图片描述

数值类型0其他
字符串类型空串其他
引用类型数组和对象
9.Boolean显式转换
(1)!!

!先将number转换为boolean类型,然后再取反

!!相当于把数值转为布尔

(2)构造函数 Boolean()
// 数值
let number = 0;
number = !!number;
console.log(Boolean(number));

// 字符串
let string = "Alison";
console.log(!!string);
console.log(Boolean(string));

// 数组
let array = [];
console.log(!!array);
console.log(Boolean(array));

// 对象
let object = {};
console.log(!!object);
console.log(Boolean(object));

// 日期
let date = new Date();
console.log(!!date);
console.log(Boolean(date));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值