JavaScript 数据类型
2019-10-22
(小记) 第一天写博客, 希望朋友们多支持!!!
- Number
- String
- Boolean
- Symbol
- Undefined
- Null
- Object
数据类型的分类 值类型和Object 类型
- 值类型:
-
Number
数字精度问题,(0.1 + 0.2 - 0.3)=== 0 是false, 正确的判断方法是(0.1 + 0.2 - 0.3)< Number.EPSILON; -
String
String 在js中是不可变类型;string.length 是个属性,使用的时候不要用"abc".length()。 -
Boolean
谈到Boolean, 本身没有太多多西,这里介绍一下 == 和 ===, 很多的编程规范中要求不要使用 == 而是先转换类型,再用 ===比较。 -
Symbol
Symbol 是个新特性, 生成Symbol的方式是 var a = Symbol(“hello”);
Symbol 的一个特性就是,每个symbol 是 独一无二的, 例如:
let id1 = Symbol(“id”);
let id2 = Symbol(“id”);
alert(id1 == id2);
我们可以想象一下结果, 对的,false;
Symbol 可以和String 一样作为Object的key. 而其它的值类型是不行的。 -
Undefined
Undefined 表示未定义的。 -
Null
null 和 undefined 不同的是, null表示定义了,但是什么都没有;
-
引用类型
Object 的内容比较多, 先简单的介绍一些:
Object 是以键/值的形式存储的,因此它的用法主要是
var a = {
name: “li san”,
age: 25
}
取值的时候只需a.age 或者 a[“name”]. 值得注意的是, 在定义object的时候,name,age 默认为string,所以加不加“”都没有问题,但是在取值的时候,必须要用a[“name”]。 如果是 a[name]呢?
当然是undefined, 引擎会去搜索name这个变量的变量值,如果我们加上 var name = “name”;
那么a[name] = ?
大家可以想一想,验证一下。哈哈
值得一提的是, [] 远比大家想象的强大,因此在变量赋值,“.”无法胜任的时候,大家不妨考虑下[] 。今天先到这里,后续会推出javascript 和前端的系列随笔,希望一起进步!