2.02.28数据类型的转换

2.02.28数据类型的转换

1.数据类型的转换

1.布尔对象

  1. 介绍:与基本数据类型布尔值不同,Boolean对象是一个布尔值的对象包装器。

  2. 语法:接受作为第一个参数传递的值将转换为布尔值。如果省略或值0,-0,null,false,NaN,undefined,或空字符串(""),该对象具有的初始值false。所有其他值,包括任何对象,空数组([])或字符串"false",都会创建一个初始值为true的对象。

  3. 注意1:不要将基本类型中的布尔值字面量 true 和 false 与值为 true 和 false 的 Boolean 对象弄混了。其值不是undefined或null的任何对象(包括其值为false的布尔对象)在传递给条件语句时都将计算为true。

例如:以下if语句中的条件评估为true:

var x = new Boolean(false);
console.log(x); // 控制台打印:Boolean{false}  // 一个Boolean对象,其中的PrimitiveValue属性的属性值为:false
console.log(typeof x);  //object
if (x) {
  // 这里的代码会被执行
}

var x = false;
if (x) {
  // 这里的代码不会执行
}
  1. 注意2:不要用创建 Boolean 对象的方式将一个非布尔值转化成布尔值,直接将 Boolean 当做转换函数来使用即可
var expression="aa";
var x = Boolean(expression);     // 推荐
console.log(x);// 控制台打印:true
console.log(typeof x);  //boolean


var x = new Boolean(expression); // 不太好
console.log(x);//控制台打印:Boolean{true}  //一个Boolean对象,其中的PrimitiveValue属性的属性值为:true
console.log(typeof x);  //object

2.字符串对象

  1. 介绍:与基本数据类型string值不同,String 对象是对原始string类型的封装。
const foo = new String('foo'); // 创建一个 String 对象
console.log(foo); // 控制台打印:String:{'foo'}
console.log(typeof foo); // 返回 'object'
  1. 注意:除非必要, 应该尽量使用 String 字面值创建字符串,直接将String 当做转换函数来使用即可。所有的数字/布尔值都转换成对应的字符串
String(123) // '123'
String(true) // 'true'
String(false) // 'false'

3.数字对象

  1. 概念:内置的Number对象有一些有关数字的常量属性,如最大值、不是一个数字和无穷大的。你不能改变这些属性,但可以按下边的方式使用它们
var biggestNum = Number.MAX_VALUE; // 可表示的最大值
var smallestNum = Number.MIN_VALUE; // 可表示的最小值
var infiniteNum = Number.POSITIVE_INFINITY; // 特指“正无穷”;在溢出时返回
var negInfiniteNum = Number.NEGATIVE_INFINITY; // 特指“负无穷”;在溢出时返回
var notANum = Number.NaN; // 特指”非数字“
var epsilonNum = Number.EPSILON // 表示1和比最接近1且大于1的最小Number之间的差别
var minSafeInterger = Number.MIN_SAFE_INTEGER // JavaScript最小安全整数
var maxSafeInterger = Number.MAX_SAFE_INTEGER // JavaScript最大安全整数
  1. 注意:不要用创建 Number 对象的方式创建数字对象,使用Number当做转换函数也不太常用,更多是使用数字对象提供的方法
// 能成功转换成数字的字符串会被转化为相应的数字
Number('123') // 123
// 不能成功转换成数字的字符会被转化为NaN
Number('123a') // NaN
Number('') // 0
Number(true) // 1
Number(false) // 0

4.隐式转换

  • 参考2.02.16运算符补充的笔记
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值