使用es6总结笔记
Posted web-chuanfa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用es6总结笔记相关的知识,希望对你有一定的参考价值。
1. let、const 和 block 作用域
在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。
- let 关键词声明的变量不具备变量提升(hoisting)特性
- let 和 const 声明只在最靠近的一个块中(花括号内)有效
- 当使用常量 const 声明时,请使用大写变量,如:CAPITAL_CASING
- const 在声明时必须被赋值 否则报语法错误SyntaxError
var a = 2; { let a = 3;// 只在这个{}中有效 console.log(a); // 3 } console.log(a); // 2 { const ARR = [5,6];// const变量名大写 ARR.push(7); console.log(ARR); // [5,6,7] ARR = 10; // TypeError // const CFF;//const 在声明时必须被赋值// console.log(CFF); // 报错:Uncaught SyntaxError: Missing initializer in const declaration }
1)块级作用域示例
var funcs = [] for (var i = 0; i < 10; i++) { funcs.push(function() { console.log(i) }) } funcs.forEach(function(func) { func() })
2. 箭头函数(Arrow Functions)
ES6 中,箭头函数就是函数的一种简写形式,使用括号包裹参数,跟随一个 =>,紧接着是函数体:
箭头函数最直观的三个特点。
- 不需要function关键字来创建函数
- 省略return关键字
- 继承当前上下文的 this 关键字
说个小细节。
当你的函数有且仅有一个参数的时候,是可以省略掉括号的。当你函数返回有且仅有一个表达式的时候可以省略{};例如:
当然,箭头函数不仅仅是让代码变得简洁,函数中 this 总是绑定总是指向对象自身。具体可以看看下面几个例子:
3. 函数参数默认值
ES6 中允许你对函数参数设置默认值:
4.对象词法扩展
ES6 允许声明在对象字面量时使用简写语法,来初始化属性变量和函数的定义方法,并且允许在对象属性中进行计算操作:
5.for...of VS for...in
for...in 用来遍历对象中的属性:
6.类
ES6 中有 class 语法。值得注意是,这里的 class 不是新的对象继承模型,它只是原型链的语法糖表现形式。
函数中使用 static 关键词定义构造函数的的方法和属性:
extends 允许一个子类继承父类,需要注意的是,子类的constructor 函数中需要执行 super() 函数。(必须执行super()否则报错:Must call super constructor in derived class before accessing ‘this‘ or returning from derived constructor)
super作为函数调用时,代表父类的构造函数,不过this指向的子类实例对象。所以如果你在子类Porsche的constructor中执行super(),就相当于执行A.prototype.constructor.call(this)。
当然,你也可以在子类方法中调用父类的方法,如super.showId()。
以上是关于使用es6总结笔记的主要内容,如果未能解决你的问题,请参考以下文章