JS如何学习
从简单到复杂
ES6一图概括(90%)
期待纳入规范的方法
obj.a.b.c.name
//如果 obj.a 是 undefined
// obj.a.b <==> undefined.b ==>报错
//更何况 obj.a.b.c呢?
//现在的js是怎样写的
if(obj.a!==undefined&&obj.a.b!==undefined&&obj.a.b.c!==undefined&&obj.a.b.c.name!==undefined){
//终于无错的打印了变量
console.log(obj.a.b.c.name);
}
//optional chain语法
obj?.a?.b?.c?.name
//如果 obj.a是undefined就不往下走了 之间返回 undefined 写法也简洁很多
7种数据类型
Number | boolean | string | symbol | undefined | null | object |
---|
Number
String
处理字符串折行问题
- ""转义 但是后面必须是"回车" 但是如果是 空格 你也看不出来 容易出错
- '1233' +
'456' -
ES6 反引号" ` " 换行要顶头写
boolean 两个值 true | false
布尔 | true | false |
---|---|---|
真 | 假 |
&& 与 || 或 运算
a&&b
a\b | 真 | 假 |
---|---|---|
真 | √ | × |
假 | × | × |
a||b
a\b | 真 | 假 |
---|---|---|
真 | √ | √ |
假 | √ | × |
symbol 略过 ...
null (只有一个值 null)
undefined (只有一个值 undefined )
都表示什么也没有 (JS之父的bug)
null和 undefined的区别
1.一个变量没有赋值 ==> undefined
有一个非对象 不想给值 undefined <==> 空非对象
2.我想有一个对象 obj 但是现在还不想给值 所以推荐给他一个 null值 <==>空对象
什么是object
就是由基本类型组成的复杂类型
person = {name:'hjx',age:18,self:person}可以吗?
对象还没有初始化完成就自己指向自己
这样是对的 但是 person.self = undefined