开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第16天,点击查看活动详情
一 ECMAScript 相关介绍
什么是 ECMA
ECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个组织的目标是评估、开发和认可电信和计算机标准,1994 年后该组织改名为Ecma 国际
什么是 ECMAScript
ECMAScript 是由 Ecma 国际通过ECMA-262 标准化的脚本程序设计语言。
什么是 ECMA-262
Ecma 国际制定了许多标准,而ECMA-262 只是其中的一个,所有标准列表查看:www.ecma-international.org/publication…
ECMA-262 历史版本查看网址: www.ecma-international.org/publication…
- ES5 是 ECMAScript 第5版,2009年发布
- ES6 是 ECMAScript 第6版,2015年发布,也叫 ES2015
- 从 ES6 开始,每年发布一个版本,版本号比年份最后一位大1
谁在维护 ECMA-262
TC39(Technical Committee 39)是推进ECMAScript 发展的委员会。其会员都是公司(其中主要是浏览器厂商,有苹果、谷歌、微软、因特尔等)。TC39 定期召开会议,会议由会员公司的代表与特邀专家出席。
为什么要学习 ES6
○ES6 的版本变动内容最多,具有里程碑意义
○ES6 加入许多新的语法特性,编程实现更简单、高效
○ES6 是前端发展趋势,就业必备技能
6ES6 兼容性
可查看兼容性:kangax.github.io/compat-tabl…
1. let 关键字
let 关键字用来声明变量,使用 let 声明的变量有几个特点
●不允许重复声明
●块级作用域
●不存在变量提升
●不影响作用域链
// 给每一个 i 设置一个立即执行函数,会形成自己的块级作用域,不影响外部变量。
for (var i = 1; i <= 5; i++) {
(function (i) {
setTimeout(() => {
console.log(i);
}, 1000);
})(i);
}
2. const 关键字
const 关键字用来声明常量
const特点
●声明必须赋初始值
●标识符一般为大写
●不允许重复声明
●值不允许修改
●块级作用域
注意:
对象属性修改和数组元素变化不会出发 const 错误 应用场景:声明对象类型使用 const,非对象类型声明选择 let
- 变量的解构赋值
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为 解构赋值
数组的解构赋值
const obj = {
uname: '喜羊羊',
age: 30,
sayHi: function () {
console.log('hello');
},
sayBye() {
console.log('Bye~');
}}
let {name, age, sayHi} = obj;
let {sayBye} = obj;
应用场景:频繁使用对象方法、数组元素,就可以使用解构赋值形式
4. 模板字符串
模板字符串(template string)是增强版的字符串,用反引号 ` 标识,特点
●字符串中可以出现换行符
●可以使用 ${xxx} 形式输出变量,近似 EL 表达式
应用场景:当遇到字符串与变量拼接的情况使用模板字符串
let name = '喜羊羊';
console.log(`hello, ${name}`);
let ul = `<ul>
<li>apple</li>
<li>banana</li>
<li>peach</li>
</ul>`