ES6语法

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语法特性的补充,不会讲解一些API层面的语法,更多的是发掘背后的原理,以及ES6到底解决...
    coderfl阅读 4,110评论 0 0
  • 原文链接分享在我的掘金账号上近一万字的ES6语法知识点补充 前言 ECMAScript 6.0(简称ES6),作为...
    心_c2a2阅读 4,440评论 0 19
  • 前言 ECMAScript 6.0(简称ES6),作为下一代JavaScript的语言标准正式发布于2015 年 ...
    小雨雪smile阅读 5,330评论 0 50
  • ES6语法 1.ES5和ES6声明变量的方式对比 ES5中声明变量的方式: ES6中声明变量的方式: 2. var...
    也在水湄阅读 87,364评论 5 38
  • 最近在做毕业设计,其中用到了一些 ES6 的语法,比如模块的输出引入,箭头函数,对象字面量的简写,等等。所性顺便就...
    小乌龟变王八阅读 3,325评论 0 0