2.其他类型转换成string类型
-
1.第一种方式:
变量名.toString()
-
如果变量的值为undefined或者null,则会报错
-
2.第二种方式:
String(变量名)
-
与第一种方式的唯一区别就是如果变量的值为undefined或者null不会报错,会得到undefined或者null
let a = null;
//1.常用: String ( )
//特点:可以识别undefined与null
console.log ( String ( null ) );
console.log ( typeof String ( a ) );
// //2. 变量名.toString ()
//特点:无法识别undefined与null,程序会报错
console.log ( a.toString () );
3.其他类型转换成boolean类型
只有一种方式: Boolean(变量名)
-
官网文档中有八种情况得到的false:
0、-0、null、false、NaN、undefined、或者空字符串("")、 document.all()
-
其他一切均为true
console.log ( Boolean ( 0 ) ); //false
console.log ( Boolean ( -0 ) ); //false
console.log ( Boolean ( null ) ); //false
console.log ( Boolean ( false ) ); //false
console.log ( Boolean ( undefined ) ); //false
console.log ( Boolean ( ‘’ ) ); //false
console.log ( Boolean ( NaN ) ); //false
2.隐式数据类型转换
==========
隐式转换:运算符两边数据类型不一致,编译器自动帮我们转换一致在计算,这是js的语法特点
隐式转换
-
1.转成string类型:+号两边如果有一边是字符串,则会把另一边转换成字符串,然后进行拼接
-
2.转成number类型:以下几种运算符会将任何数据转换成number类型再运算,如果无法转换则为NaN
-
数学正号 : +num
-
当
+/-
号写在一个变量名的前面,此时表示数学的正/负数
-
自增自减(++ --)
-
算术运算符(+ - * / %)
-
比较运算符(> < >= <= == != \=\=\= !==)
-
说明:全等与不全等会先比较值(此时会隐式转换再比较),然后再比较数据类型
-
3.转成boolean类型:逻辑非(!)会将任何数据转为boolean类型再运算
-
4.+号有三种含义:数学正负号(转成number)、算术运算符(转成number)、字符串连接符(转成string)