JavaScript中数据类型的转换

JavaScript中数据类型的转换

  • if中的条件会被自动转为Boolean类型

    * 会被转为false的数据

    * 会被转为true的数据

  • 参与+运算都会被隐式的转为字符串

    * 会被转为空字符串的数据

    * 会被转为字符串的数据

    * 会被转为数据类型标记的数据

  • 参与*运算都会被隐式的转为数字

    * 会被转为0的数据

    * 会被转为1的数据

    * 会被转为NaN的数据

  • == 运算符

    * 为true的时候

    * 为false的时候

  1. if中的条件会被自动转为Boolean类型

if(false) console.log(2333)

if('') console.log(2333)

if(null) console.log(2333)

if(undefined) console.log(2333)

if(NaN) console.log(2333)

if('test') console.log(2333)  // 2333

if([]) console.log(2333)  // 2333

if({}) console.log(2333)  // 2333

  1. 参与+运算都会被隐式的转为字符串
    1. 转换为空字符串

'str-' + ''  // str-

'str-' + [] // str-

b. 转成字符串的数据

'str-' + '1'  // "str-1"

'str-' + 1  // "str-1"

'str-' + false  // "str-false"

'str-' + true  // "str-true"

'str-' + null  // "str-null"

'str-' + undefined  // "str-undefined"

'str-' + NaN  // "str-NaN"

c.转成数据类型标记

'str-' + {}  // "str-[object Object]"

'str-' + {a:1}  // "str-[object Object]"

  1. 参与*运算都会被隐式的转为数字
    1. 会被转为0的数据

3 * ''  // 0

3 * []  // 0

3 * false  // 0

  1. 会被转为1的数据

2 * '1'  // 2

2 * [1]  // 2

2 * true  // 2

  1. 会被转为NaN的数据

2 * {}  // NaN

2 * {a:1}  // NaN

4. == 运算符

a.会被转为true

0 == false  // true

0 == ''  // true

0 == '0'  // true

0 == []  // true

0 == [0]  // true

1 == true  // true

1 == '1'  // true

1 == [1]  // true

[1] == true  // true

[] == false  // true

b.会被转为false

0 == {}  // false

0 == null  // false

0 == undefined  // false

0 == NaN  // false

1 == {}  // false

1 == null  // false

1 == undefined  // false

1 == NaN  // false

[] == []  // false

[1] == [1]  // false

[1] == {}  // false

[1] == {a:1}  // false

[1] == false  // false

[1] == null  // false

[1] == undefined  // false

[1] == NaN  // false

{} == {}  // false

{a:1} == {a:1}  // false

PS:空数组[],在+运算符下是转为空字符串'',在*运算符下是转为数字0。但在if语句中,则转为true

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值