ES6新语法,持续更新

1.let 声明,与var声明相比,定义局部变量,1.不会出现变量提升。2.不允许重复声明,3。声明的变量只有在当前作用域有效。

2.const 声明一个只读的常量。常量:值不可以改变的量,声明的变量必须赋值。

延展操作符(Spread operator) . . .

将数组表达式或者string在语法层面展开;还可以在构造对象时, 将对象表达式按key-value的方式展开。

[...iterableObj, '4', ...'hello', 6];

let objClone = { ...obj };

 

模块化

模块的功能主要由 export 和 import 组成。每一个模块都有自己单独的作用域,模块之间的相互调用关系是通过 export 来规定模块对外暴露的接口,通过import来引用其它模块提供的接口。

var name = 'Rainbow';

var age = '24';

export {name, age};

-----------------------------------------

import {myModule} from 'myModule';// main.js

import {name,age} from 'test';// test.js

模板字符串

以前:var name = 'Your name is ' + first + ' ' + last + '.'

现在:var name = `Your name is ${first} ${last}.`

解构赋值

const student = { name:'Ming', age:'18', city:'Shanghai' };
const {name,age,city} = student;
console.log(name); // "Ming"
console.log(age); // "18"
console.log(city); // "Shanghai"

作者:上沅兮
链接:https://juejin.im/post/5ca2e1935188254416288eb2
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

数组的新方法

3.数组方法 [ ].findexIndex(a).方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。

4.forEach() 方法对数组的每个元素执行一次提供的函数。功能等同于for循环.

5.map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

6.filter用于返回满足条件的元素, 返回一个新数组,如果在回调函数中返回true,那么就留下来,如果返回false,就扔掉

7.some用于遍历数组,如果有至少一个满足条件,就返回true,否则返回false。

8.every用于遍历数组,只有当所有的元素返回true,才返回true,否则返回false。

9.find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

 对象简写

10. 在对象中,如果属性名和变量名相同的话,可以省略一个

let name = 'zs'

let age = 18 // 在对象中,如果属性名和变量名相同的话,可以省略一个 // 在对象中,方法也可以简写

let obj = { name: name, age: age }

let obj = { gender: '男', name, age }

11.方法也可以简写, 不写function

// 在对象中的方法可以简写 // 不写function

let obj = {

  // say: function () {}

   say(n1) { console.log(n1) },

   goodBye() { console.log('byebye') }

}

  //调用

  obj.say(1)

  obj.goodBye()

箭头函数

var fn = (x, y) => { console.log(x + y); }

Promise 

 是异步编程的一种解决方案,比传统的解决方案callback更加的优雅

类(class)

字符串新方法

  startsWith()  是否以谁开头  布尔类型
  endsWith()   是否以谁结尾
  includes()     是否包含


ES7新增2个
1.includes() 函数用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回false
2.指数运算符 2**10 结果为1024 等同于Math.pow(2, 10);
ES8-ES10

async/await

Array.prototype.flat(),数组降维。

var arr1 = [1, 2, [3, 4]];

arr1.flat();

// [1, 2, 3, 4]

参考地址:https://juejin.im/post/5ca2e1935188254416288eb2



 

 

 
posted @ 2020-05-15 18:01  留下成长的足迹  阅读(260)  评论(0编辑  收藏  举报