(精华)2020年6月29日 JavaScript高级篇 ES6(let,const,var)
【摘要】
1. es6的背景介绍
ES6是什么? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了 和js之间的关系 ECMAScript是J...
1. es6的背景介绍
ES6是什么? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了
和js之间的关系 ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。 作用
是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。(更具模块化)
不存在变量提升
console.log(a); // undefined
var a = 123
// es6
console.log(b);
let b = 456;
console.log(b);
- 1
- 2
- 3
- 4
- 5
- 6
暂时性死区
//死区
var tep = 890;
if(true){
tep = 'abc'
let tep
}
// typeof 不再是完全正确的
console.log(typeof c);
let c;
//不允许重复声明
let e = 123;
let e = 456// 'e' has already been declared
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
2 const 特殊的地方
2.1. 声明常量不能变
const a = 123;
a = '123'
const b = true;
b = false
- 1
- 2
- 3
- 4
2.2. 本质
// 引用数据类型可以变变得是堆里面的内容 不变的是地址
const obj = {name:'chris',age:33}
console.log(obj);
obj = {name:'Chris',age:33}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2.3. 可以冻结对象
// const foo = Object.freeze({})
// foo.name = '大白菜'
// console.log(foo);
'use strict'
const foo = Object.freeze({})
foo.name = '大白菜'
- 1
- 2
- 3
- 4
- 5
- 6
2.4 全局的缺陷
// new Array()
console.log(window.Array);
var Array = '这是数组'
console.log(window.Array);
var a = '123'
console.log(window.a); // 123
let b = '全局'
console.log(window.b); // undefined
// let 提出后 全局变量和顶层对象的属性 脱钩
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。
原文链接:codeboy.blog.csdn.net/article/details/107029249
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)