ES6新增语法


let

ES6中新增的用于声明变量的关键字。

  • let声明的变量只在所处的块级有效,var变量不具备这个特点。

  • 不存在变量提升

  • 使用let声明的变量具有暂时性死区特性

    var num = 10
    if(true){
        console.log(num);
        let num;
    }

经典面试题

每次循环都会产生一个块级作用域,每个块级作用域中的变量都是不同的,函数执行时输出的是上一次作用域下的值

const

作用:声明变量,常量就是指(内存地址)不能变化的量

  • 具有块级作用域
  • 声明是必须赋值
  • 常量幅值后,值不能更改

解构赋值

数组解构:数组解构允许我们按照一一对应的关系从数组中提取值,然后将值赋值给变量

let arr = [1,2,3];
let [a,b,c] = arr

对象解构:

let person = {name:"zhangsan",age:"18"};
let {name,age} = person;
let {name:myname,age:myage} = person

箭头函数

() => { }
const fn = () => { }
// 若函数体中只有一句代码,且代码执行的结果就是值,可以省略大括号
const fn = () => n1 + n2;

箭头函数不绑定this关键字,箭头函数中的this,指向函数定义位置的上下文this

剩余参数

剩余参数允许我们将一个不定量的参数表示为一个数组。

function sum(first, ...args){
    console.log(first);
    console.log(args);
}
sum(10,20,30);

拓展运算

拓展运算可以将数组或者对象用逗号分割成参数序列。

let ary = ['a','b','c'];
// ...ary "a" "b" "c"

拓展运算应用于数组合并

let ary1 = ['a','b','c'];
let ary2 = ['d','e','f'];
let ary3 = [...ary1,...ary2];
// ary1.push(...ary2) 第二种方法

将类数组或可遍历对象转换为真正的数组

let lis = document.querySelctor("li");
lis = [...lis];

构造函数方法

array的拓展方法

  1. array.from() : 将类数组或可遍历对象转换为真正的数组,方法还可以接收==第二个参数==,作用类似于数组的map方法,用来处理每个元素并返回。

    var ary = array.from(aryLike)

  2. array.find() :用于找出第一个符合条件的数组成员,如果没有返回undefined

    let target = ary.find()(item,index) => item.id == 2)

  3. array.findIndex() :用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1

    let index = ary.findIndex()(item,index) => value > 2)

  4. array.includes() :用于确定某个数组是否包含给定的值,但会布尔值

    let falg = ary.includes(2)

string的拓展方法

模板字符串可以解析变量 $(name);

let name = `zhangsan`;
let str = `hello,my name is $(name)`;

模板字符串可以换行;

startsWith() 和 endsWith() 表示原字符串是否以目标字符串结尾,返回布尔值;

repeat() repeat方法表示将原字符串重复n次,返回一个新的字符串;

set数据结构

set数据结构类似于数组,但是成员的值都是唯一的,没有重复的值。

const s = new Set([1,2,3,5])

实例方法: add(); delete(); has(); clear().


文章作者: linxueya
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 linxueya !
评论
  目录
喜迎
春节