Javascript数据类型和类型转换

210 阅读1分钟
  1. String
  2. Number
  3. Boolean
  4. Undefined
  5. Object (对象或Null)
  6. Function

注意:null属于object类型

Number类型包含整型和浮点型。浮点型最高精度是17位,算术运算中可能会出现不精确问题,因此做判断的时候要考虑到这个问题。如:

console.log(0.1+0.2)    //0.30000000000000004

Number.MIN_VALUE最小值,Number.MAN_VALUE最大值,超过最大值或最小值显示Infinity或-Infinity, isFinite()判断是否超出最值,true为未超出false为超出。

var num= 10e10
console.log(isFinite(num))    //true

 NaN,即非数值,用于表示一个本来要返回数值的操作数未返回数值的情况

var num=0/0
console.log(num)    //NaN
console.log(NaN == NaN)    //false 因为有可能是除0返回NaN,有可能是非数值返回NaN

isNaN()判断值是否为NaN

console.log(isNaN('jacome'))    //true

科学计数法

var num=5.201314e10    //52013140000
var num=0.000000052    //5.2e-8

Boolean类型只有true和false两个值,而true不一定等于1,false不一定等于0。如:

console.log(true == 1)      //true
console.log(true === 1)     //false

虽然Boolean类型的值有true和false两种,但是ECMAScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以使用Boolean()方法进行强制转换也可以进行隐式转换。如:

var test = 'jacolm'
if(test){    //进行隐转换
console.log('true')
}else{
console.log('false')
}
//true
test非空时为true,空值是为false

其他类型转换为Boolean图


typeof操作符可以操作变量,也可以操作字面量。虽然可以这样使用:typeof(test),但是typeof是操作符并非内置函数。