ES6介绍

目录

ES6

ECMAScript简介

ES6新特性

let与const变量以及块级作用域

模板字符串

解构赋值

箭头函数

函数的默认参数

面向对象的支持

对象字面量简写法

Symbol类型

新数据结构——Set与Map

Proxy(代理)

Reflect(反射)

Promise

Iterator(遍历器)与for..of循环

模块化

兼容性


ES6

ECMAScript简介

ECMA电脑操作格式标准

ECMA-262

ES6以ECMAScript2015为标准

ES6新特性

let与const变量以及块级作用域

解决var带来的变量声明提升的问题。

let变量无变量提升

ES5 只支持全局、局部(函数里面)作用域

ES6新增了块作用域,代码块{ },仅let、const支持。是动态类型。

在同一作用域下,let,const不允许重复申明

{
let y = 1000;
console.log(y);//y=100;
}
console.log(y);//y is not defined

模板字符串

即插值字符串,通过模板拼接字符串。

 //模板字符串
 //使用字符串拼接实现数据描述
let name = "xiaoming";
let age = 20;
{
    let info = name + " is " + age + " year old.";
    console.log(info);
}
//模板字符串
{
    let info = `${name} is ${age} year old.`;//插值运算符
    console.log(info);
}

解构赋值

使用解构从数组和对象中提取并赋值给独特的变量。

 //解构赋值
 //分为数组、对象解构
 let student
 {
    name:"小明",
    age=20
};
let stu_name=student.name;
let stu_age=stuande.age;
let{s_name:name,s_age:age}=student;//对象解构赋值

 let numbers=[22,33,44,55];
 //let a=numbers[0]
 let[a,b,c,d]=numbers;//数组解构赋值
 console.log(a,b,c,d);

箭头函数

即使用Lambda表达式表示函数来代替匿名函数。

//箭头函数
//可以理解为一个语法简便的匿名函数
function f1(n) {
    return 10 * n;
}
 //函数表达式
 let f2 = function (n) {
     return 10 * n;
}
 //箭头函数
let f3 = (n) => 10 * n;
let f3 = (n) => {
    return 10*n;
}

箭头函数没有上下文执行对象this。

函数的默认参数

在声明函数时为参数赋予初值。

面向对象的支持

通过class关键创建类,通过extends继承,通过super访问父类。

 //class类
class Student {
    constructor(name, age) {
    this.name = name;
    this.age = age;
    }
show() {
    console.log(`${this.name} is ${this.age} year old.`);
    }
 }
let s1=new Student("小明",20)
s1.show();

对象字面量简写法

使用和所分配的变量名称相同的名称初始化对象时,如果属性名称和所分配的变量名称一样,则可以从对象属性中删除这些重复的变量名称。

//对象字面量简写
//let x=20;
//let y=40;
let [x,y]=[20,40];//不是数组
//let point={x:x,y:y};
let point={x,y}

Symbol类型

提供一种表示独一无二的值的方式,从而解决可以解决类似对象属性名称冲突的问题。

新数据结构——Set与Map

  • Set提供一种类似与数组,但是每个成员都是唯一的。
  • Map提供一种类似于对象的键值对集合,但键的类型不限于字符串,可以是各种类型的值。

Proxy(代理)

用于修改某些操作的默认行为,等同于在语言层面作出修改,属于一种“元编程(meta programming)”,即对编程语言进行编程。代理允许拦截在目标对象上的底层操作。

Reflect(反射)

给底层操作提供默认行为的方法集合,这些操作是能够被代理重写的。反射和代理方法是一一对应的。

Promise

异步编程的一种解决方案,预定两个方案:正确怎么做,失败怎么做。

Iterator(遍历器)与for..of循环

  • Iterator是一种接口,为各种不同的数据结构提供统一的访问机制。
  • for...of循环作为便利所有具有Iterator接口的数据结构的统一方法。

模块化

  • 一个模块就是一个独立的文件,文件内部的所有变量,外部无法获取。
  • 通过export规定模块对外的接口,通过import输入其他模块提供的功能。

兼容性

ES6是一次重大的版本升级

ES5、ES3编写的代码依然能够正常运行

ECMAScript是一门充满活力的语言,并在不断进化。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值