大型商城:前端知识补充-ES6

Es6

ES6是js的规范,比如jdk8是java的规范

vscode新建HTML文件,shift+!回车,快速生产HTML的模板

let 与 const

1.let不会作用到{}外,var会越域跳到{}外

2.var可以多次声明同一变量,let会报错

3.var定义之前可以使用,let定义之前不可使用。(变量提升问题)

const

1. const声明之后不允许改变,一但声明必须初始化,否则会报错

解构表达式

1.数组解析

2.对象解析

 字符串扩展

//字符串模板 “可以定义多行字符串 (直接输出HTML)(“ 在键盘左上角 esc 下面)

变量名写在 ${}

函数优化

1.支持函数形参默认值 function add2(a, b = 1)

2.支持不定参数 function fun(...values)

3.支持箭头函数 var print = obj => console.log(obj);

对象优化

1.可以获取map的键值对等Object.keys()、values、entries

2.Object.assgn(target,source1,source2) 合并

3.如果属性名和属性值的变量名相同,可以省略const person2 = { age, name } 代表age属性的值是变量age的值

4.对象的函数属性简写

5.对象拓展运算符     使用“…p1”为拷贝p1对象

map和reduce

map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。

reduce() 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,

更多可以参考博客:https://blog.csdn.net/seimeii/article/details/121614775

  • 1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
    2、currentValue (数组中当前被处理的元素)
    3、index (当前元素在数组中的索引)
    4、array (调用 reduce 的数组)
大型商城:前端知识补充-ES6

大型商城:前端知识补充-ES6

promise

优化异步操作。封装ajax

user.json

user_corse_1.json

corse_score_10.json

场景:请求user得到id为1,继续请求user_corse_1(user_corse_{id}),得到id为10,继续请求corse_score_10

以往的Ajax嵌套写法

Promise可以封装异步操作

更简洁的整合方法

模块化import/export

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

user.js   导出name和age和方法add

main.js  导入刚刚导入的变量和对象

如果导出一个未命名的方法 如下,那么导入的时候可以重命名import abc from "./xxx.js"

正文完
 0