ES6-1

ES6简介

1.什么是ES6

ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范

2.为什么使用 ES6 

每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。

  • 变量提升特性增加了程序运行时的不可预测性
  • 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码

ES6 的新增声明变量

1.let

1.1 let声明的变量只在所处于的块级作用域有效

 if (true) { 
     let a = 10;
 }
 console.log(a) // a is not defined

1.2 不存在变量提升

console.log(a); // a is not defined 
let a = 20; 

1.3 暂时性死区

var tmp = 123;
if (true) {
 tmp = 'abc';
 let tmp;
}

2.const

2.1 具有块级作用域

if (true) {
const a = 10; }
console.log(a) // a is not defined

2.2 声明常量时必须赋值

const PI; // Missing initializer in const declaration

2.3 常量赋值后,值不能修改

const PI = 3.14;
PI = 100; // Assignment to constant variable.
const ary = [100, 200];
ary[0] = 'a';
ary[1] = 'b';
console.log(ary); // ['a', 'b']; 
ary = ['a', 'b']; // Assignment to constant variable.

2.let、const、var 的区别

  1. 使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象。
  2. 使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升。
  3. 使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值

箭头函数

1.基本语法

目标: 能够熟悉箭头函数不同写法

目的:引入箭头函数的目的是更简短的函数写法并且不绑定this,箭头函数的语法比函数表达式更             简洁

使用场景:箭头函数更适用于那些本来需要匿名函数的地方

1.1ES6中新增的定义函数的方式

() => {} 
const fn = () => {}

1.2函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号

function sum(num1, num2) {
return num1 + num2; }
const sum = (num1, num2) => num1 + num2;

1.3如果形参只有一个,可以省略小括号

function fn (v) {
return v; }
const fn = v => v;

1.4如果函数体只有一行代码,可以写到一行上,并且无需写 return 直接返回值

1.5加括号的函数体返回对象字面量表达式

2.箭头函数参数

  1. 普通函数有arguments 动态参数
  2. 箭头函数没有 arguments 动态参数,但是有 剩余参数 ..args

3.箭头函数this

在箭头函数出现之前,每一个新函数根据它是被如何调用的来定义这个函数的this值

箭头函数不会创建自己的this,它只会从自己的作用域链的上一层沿用this。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值