JavaScript基础三:类型转换

一、数值类型转换

  • Number(数据):转换为数值类型

注意点:

(1)true转换为数值类型为1

(2)false和 ''转换为数值类型为0

(3)非数字转换为数值类型为NaN

console.log(Number('18')); //18

console.log(Number(true)); //1

console.log(Number(false)); //0

console.log(Number(''));//0

console.log(Number('abc12'));//NaN-非数字,但属于数字类型
  • parseInt(数据):转为整数数值类型

注意点:把字符串转换为一个整数时,如果数字带字母字母必须要在数字的后面 。

console.log(parseInt('10'));//10

console.log(parseInt('10.22'));//10

console.log(parseInt('12px'));//12

console.log(parseInt('abc12'));//NaN
  • parseFloat(数据):转换为小数数值类型

注意点:把字符串转换为一个带小数的数值类型时,如果数字带字母字母必须要在数字的后面。

console.log(parseFloat('18'));//18

console.log(parseFloat('20.5555555'));//20.555555

console.log(parseFloat('12.55px'));//12.55

console.log(parseFloat('abc12.22'));//NaN

总结:
如果需要转换的数字类型的字符串是整数,我们使用Number或者parseInt方法。

如果需要转换的数字类型的字符串带小数:我们使用parseFloat 。

二、字符串类型转换

  • String(数据)
console.log(String(1));//'1'

console.log(String(true));//'true'

console.log(String(undefined));//'undefined'

console.log(String(null));// 'null'
  • 变量.toString(进制)

进制:计算机识别的代码(2,8,10,16进制)

let str1 = 18

let str2 = false

console.log(str1.toString());//'18'

console.log(str2.toString());//'false'

注意点: undefined和null不能使用toString方法

三、布尔类型转换

  • Boolean(数据):转为布尔类型

‘’,0,undefined,null,false,NaN这几个值转布尔类型为false

其他所有的值转布尔类型都为true

console.log(Boolean(''));//false

console.log(Boolean(0));//false

console.log(Boolean(undefined));//false

console.log(Boolean(null));//false

console.log(Boolean(false));//false

console.log(Boolean(NaN));//false

console.log(Boolean(' '));//true

console.log(Boolean(1));//true

console.log(Boolean('你好'));//true

四、null和undefined的区别

  • undefined:未定义-定义变量没有赋值时出现
let age
console.log(age);//undefined
  • null:空值-代表空对象
let obj = null;//let obj = {}
console.log(typeof obj);//object

五、数字类型NaN

  • NaN:计算错误时出现
let uname = '张三'
let age = 18
console.log(uname - age);//NaN-not a Number:这不是一个数字
  • NaN-进行运算-结果都是NaN
console.log(NaN + '18');//NaN18

console.log(NaN + 18);//NaN

console.log(NaN - 18);//NaN

console.log(NaN * 18);//NaN
  • NaN不等于它自己
console.log(NaN == NaN);//false
console.log(NaN === NaN);//false
  • NaN数据类型是数字类型(重点)
console.log(typeof NaN);//number

六、隐式转换

显式转换:自己转换

隐式转换:浏览器转换

  • +号-数字相加,字符串相拼
console.log(1 + 2); //3
console.log(1 + '2'); //'12'
  • +号-可以当正号解析,转为数值类型
console.log(typeof +'1');//number
  • 运算符除了使用+号时会进行拼接,使用其他符号时浏览器默认会把数据类型转换为数值类型。
console.log(1 - '1');//0
console.log(1 * '5');//5
console.log(10 / '2');//5
  • !逻辑非-自动转为布尔类型进行取反
console.log(!(1 > 2));//true
console.log(!'你好');//false

console.log(typeof +‘123’);//number
在这里插入图片描述

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值