js中那些被我们忽略的数据类型
1.对于null和undefined用法和含义
null是一个表示“空”的对象,转为数值时为0;
undefined是一个表示"此处无定义"的原始值,转为数值时为NaN。
2.布尔值
下面六个值被转为false,其他值都视为true。 undefined null false 0 NaN ""或''(空字符串)
空数组([])和空对象({})对应的布尔值,都是true。
3.整数和浮点数
JavaScript 内部,所有数字都是以64位浮点数形式储存, 即使整数也是如此。所以,1与1.0是相同的,是同一个数。
0.1 + 0.2 === 0.3 // false 0.3 / 0.1 // 2.9999999999999996 (0.3 - 0.2) === (0.2 - 0.1) // false 复制代码
4.NaN
NaN不是独立的数据类型,而是一个特殊数值,它的数据类型依然属于Number, 使用typeof运算符可以看得很清楚。
typeof NaN // 'number' 复制代码
NaN不等于任何值,包括它本身
5.Infinity
Infinity大于一切数值(除了NaN),-Infinity小于一切数值(除了NaN)。
6.parseInt
字符串转为整数的时候,是一个个字符依次转换,如果遇到不能转为数字的字符,就不再进行下去,返回已经转好的部分。
parseInt('8a') // 8 parseInt('12**') // 12 parseInt('12.34') // 12 parseInt('15e2') // 15 parseInt('15px') // 15 复制代码
如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
parseInt('abc') // NaN parseInt('.3') // NaN parseInt('') // NaN parseInt('+') // NaN parseInt('+1') // 1 复制代码
如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。 双引号字符串内部使用双引号,也是如此
7.对象属性的赋值
点运算符和方括号运算符,不仅可以用来读取值,还可以用来赋值。
var obj = {}; obj.foo = 'Hello'; obj['bar'] = 'World'; 复制代码
查看一个对象本身的所有属性,可以使用Object.keys方法。
var obj = { key1: 1, key2: 2 }; Object.keys(obj); // ['key1', 'key2'] 复制代码
8.字符串
单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。
'key = "value"' "It's a long journey" 复制代码
字符串加了反斜杠以后,原来写在一行的字符串,可以分成多行书写
以上就是在js中容易被忽略的数据类型的一些方法和属性,记录一下,温故而知新!
作者:安小轩
链接:https://juejin.cn/post/7034017481261842469