ES6新语法的总结 -1
es6的环境安装
参考 https://blog.csdn.net/qq_36843378/article/details/106319842
变量声明和作用域
-
作用域
作用域有函数作用域、全局作用域、块作用域、动态作用域四类。
-
变量声明
声明变量的方法有var、let、const,它们之间区别:
- var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问;
- let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问;
- const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。
数组
- 数组的遍历
- for(let i=0;i<arr.length;i++){}
- arr.forEach(function(item){})
- arr.every(function(item){ return true})
- for(index in arr){}
- for(item of arr){}
- 数组和集合的区别与转换
- 集合为伪数组,指不具有数组的方法,和数组很相似,例如 常见的方法arguments 、document.querySelectorAll(‘img’) ;
- 伪数组具有两个特性,a.存储按照索引方式存储;b.具备length属性 eg: {“1”:123,“2”:884,length:2}
- 数组的查找
- array.find(function(item){if(item==val){return val}}) 返回的是查找值的索引;
- array.filter(function(item){if(item==val){return val}}) 返回的为数组。
类
- es6类的声明
class Animal {
constructor (type) {
this.type = type
}
eat(){
}
}
es5类的声明
var Animal = function (type) {
this.type = type
}
Animal.prototype.eat=function(){}
区别 es5为原生链写法,es6更像java写法,简单明了。
- 类的继承
类的继承采用关键字extends,eg:
class Dog extends Animal
函数及参数
- 常见箭头函数的简写 ,eg:
1.()=>{}
2.a=>{}
- 参数,es6的参数有不定参,参数多样,eg:
fn(a,...b) //...b表示有多个参数
fn(x,y,x+y) // x+y参数具有运算功能,即参数为表达式
参数多样,eg:
fn(a,...b) //...b表示有多个参数
fn(x,y,x+y) // x+y参数具有运算功能,即参数为表达式