es6中类型转换总结

主要有以下三点:

  1. 转换成字符串

  2. 转换成数字

  3. 强制类型转换

一. 转换成字符串
1). 首先知道所用的是toString()方法。
针对Boolean值、数字和字符串这些伪对象,还是真对象,都有该方法。
2). 其次,该方法的使用。
除了number类型的使用时有点特殊外,别的未对象和真对象的使用一样,例如:

var a1 = true;
a1.toString();				//输出“true”

对于number类型的,可以加基,举例:

var a2 = 10
var a3 = 10.0
a2.toString()			// 输出“10”
a3.toString()			//输出"10"

a2.toString(10)			//输出“10”
a2.toString(2)				//输出“1010”
a2.toString(8)				//输出“12”
a2.toString(16)			//输出“A”

二. 转换成数字
将非数字的原始值转换为数字
1). 首先,使用的是parseInt() 和 parseFloat().
2). 其次,方法的使用注意:a)前者将值转换为整数,后者将值转换为浮点数; b)使用对象是String类型,若非String类型,则返回NaN。
3). 二者属性区别:a)parseInt(string, radix),接收两个参数。第一个是转换的字符串;第二个是基。b)parseFloat(String),接收一个参数。
4). 例子:

var iNum1 = parseInt("12345red");	//返回 12345
var iNum1 = parseInt("0xA");	//返回 10
var iNum1 = parseInt("56.9");	//返回 56
var iNum1 = parseInt("red");	//返回 NaN

var iNum1 = parseInt("AF", 16);	//返回 175
var iNum1 = parseInt("10", 2);	//返回 2
var iNum2 = parseInt("10", 8);	//返回 8
var iNum3 = parseInt("10", 10);	//返回 10

//如果十进制数包含前导 0,那么最好采用基数 10,这样才不会意外地得到八进制的值
var iNum1 = parseInt("010");	//返回 8
var iNum2 = parseInt("010", 8);	//返回 8
var iNum3 = parseInt("010", 10);	//返回 10
var fNum1 = parseFloat("12345red");	//返回 12345
var fNum2 = parseFloat("0xA");	//返回 NaN
var fNum3 = parseFloat("11.2");	//返回 11.2
var fNum4 = parseFloat("11.22.33");	//返回 11.22
var fNum5 = parseFloat("0102");	//返回 102
var fNum1 = parseFloat("red");	//返回 NaN

三. 强制类型转换(type casting)
一种类型强制转换为另一种类型
1). 首先,明确函数使用方法:
Boolean(value) - 把给定的值转换成 Boolean 型;
Number(value) - 把给定的值转换成数字(可以是整数或浮点数);
String(value) - 把给定的值转换成字符串;
需要注意的是,该方法回创建一个转换成的新值。

2). 其次,分别注意每个方法的使用,示例:

// Boolean()
var b1 = Boolean("");		//false - 空字符串
var b2 = Boolean("hello");		//true - 非空字符串
var b1 = Boolean(50);		//true - 非零数字
var b1 = Boolean(null);		//false - null
var b1 = Boolean(0);		//false - 零
var b1 = Boolean(new object());	//true - 对象

//Number(),该方法调用parseInt()和parseFloat()
var a1 = Number(false)	//0
var a2 = Number(true)	//1
var a2 = Number(undefined)	//NaN
var a2 = Number(null)	//0
var a2 = Number("1.2")	//1.2
var a2 = Number("12")	//12
var a2 = Number("1.2.3")	//NaN
var a2 = Number(new object())	//NaN
var a2 = Number(50)	//50

//String()
var s1 = String(null);	//"null"
var oNull = null;
var s2 = oNull.toString();	//会引发错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值