学习笔记

ES6

by 猪皮怪, 2022-08-10


ES6入门课

let 和 const

var 声明的重复变量会被覆盖,浏览器自动提升变量,不局限于块级别。
let 声明的变量没有变量提升,作用域是块级别,不能重复声明,不会污染全局变量。
const 一般声明常量,一旦声明,无法修改,但用于声明对象、数组时,可对对象内属性值进行修改,如下。

const Test = {
    name:'Alex'
}
Test.name = 'Max';

通常情况用const比较多,只有在明确知道变量需要被修改的情况下用let。

模板字符串

代码中使用tab键上方的反引号 " " 表示模板字符串,在模板字符串中插入变量时使用 " ${变量名} " 来拼接字符串。(Vue中的Template的模板字符串应用)

函数

剩余参数的用法,解决了arguments的问题

扩展运算符:...

与剩余运算符区别是把多个独立的参数合并到一个数组中,一般用在形参上。
扩展运算符是把一个数组分割并且将各项作为分离参数传给函数。

箭头函数!!!

使用 => 来定义函数。

function(){} 等价于 ()=>{}

this指向的问题

es5中的this指向取决于调用该函数的上下文对象。

解构赋值

利用一行代码搞定下图所示多行写法,代码简洁易读。
2022-08-13T01:05:04.png
完全解构(取全部属性)
2022-08-13T00:55:39.png

不完全解构(只取对象内部分属性)
可结合剩余运算符使用!
2022-08-13T01:00:58.png

2022-08-13T01:03:35.png

Set集合:无重复值的有序列表

2022-08-13T01:42:52.png

将set集合转换成数组
2022-08-13T01:45:47.png

Map类型:键值对的有序列表,键和值可以是任意类型

数组扩展方法

2022-08-13T12:25:25.png
类似于python的enumerate函数。

ES6的Promise对象

各种异步操作都可以用promise处理。
特点:

  1. 对象状态不受外界影响
    三种状态:Pending(进行中)、Resolved(成功的结果)、Rejected(失败的结果)
  2. 状态一旦发生改变,不可逆。
    promise的then方法有两个参数,第一个参数对应成功,第二个参数对应失败返回的值。

    .then(res=>{},err=>{})
    ||
    .then(res=>{}).catch(err=>{})

async关键字

作用:使异步操作更加方便。
async后面需要定义一个函数。
async会返回一个promise对象。
await命令一定是用在async函数中。
2022-08-15T14:00:40.png

2022-08-15T14:35:20.png
2022-08-15T14:37:45.png

类的继承

2022-08-15T14:41:01.png

ES6的模块化实现(module)

ES6的模块化功能主要有两个命令组成:export(抛出)、import(导入)

  1. export用来规定模块的对外接口
  2. import用于导入其他模块提供的功能

一个模块就是一个独立的文件。

//test.js文件
export const name = 'test'

2022-08-15T15:00:00.png

//index.js文件
import {name} from './test.js'

2022-08-15T15:01:06.png

导出命名语法:export default.
一个模块中只能使用一次export default命令,但可以使用多次export命令抛出。

作者: 猪皮怪

2024 © esia.asia 32 ms