ES6语法

作者: wjing静 | 来源:发表于2020-09-22 14:30 被阅读0次

1.ES5和ES6声明变量的方式对比

ES5中声明变量的方式:

//1.通过var声明
var num;
//2.函数方式声明
function fn(num){return num}
fn(10);

ES6中声明变量的方式:

//1.使用let声明
let a = 10;
//2.使用const声明
const name = "小明";

2.var ,let,const的区别:

1.不存在变量提升

var 命令会发生变量提升现象,及变量可以在声明之前使用,值为undefined。
let 和 const 则没有变量声明提升的功能,必须要先声明才能使用。

2.不允许重复声明

var命令能重复声明,后者覆盖前者。
let 和 const不允许在相同作用域内,重复声明同一个变量。

3.作用域

var 的作用域是以函数为界限
let 和 const 的作用域是块作用域,块级作用域指 { } 内的范围
var 可以定义全局变量和局部变量,let 和 const 只能定义局部变量
const 的声明的常量不能被修改,但对于引用类型来说,堆内存中的值是可以被改变的。

4.变量作为全局属性

定义的变量会作为window对象的属性,let不会

3.ES6中的箭头函数

ES6 中函数式声明方式被箭头函数 => 取代
箭头函数:使用 => 定义函数

1.当函数没有参数时,()不能省略
2.当函数只有一个参数,且函数体是一句代码,且是返回语句
3.参数的()可省略、函数体 {} 可省略、return 可省略、
4.中间使用 => 连接
5.若函数体只有一句,且不是return 语句, 不能省略 {}
6.若函数体有多条语句,不能省略 {}
7.若函数有多个参数,不能省略()
8.若函数的返回值为对象,此时不能省略return

4.箭头函数的this指向问题

1.箭头函数没有this,this是父级的
2.定义时候绑定,就是this是继承自父执行上下文!!中的this
3.ES5中,this指调用者,ES6中,this指定义时候绑定

5.ES6新增的字符串方法

//字符串新增方法:
方法                返回值          作用
includes('str')     boolean         判断字符串中包含子串
endWith('str')      boolean         判断字符串以"str"结尾
startWith('str')    boolean         判断字符串以"str"开头
repeat(n)           重复拼接自身     重复n次输出字符串 repeat + repeat

//不全方法: 补全字符串长度
padStart(length, s);        字符串开头补全
endStart(length, s);        字符串末尾补全

相关文章

网友评论

      本文标题:ES6语法

      本文链接:https://www.haomeiwen.com/subject/fxswyktx.html