ES6语法

96 阅读2分钟

1.声明变量

let

具有块级作用域

不存在变量提升

会绑定在这个块级作用域,不会受外界的影响

const

具有块级作用域

声明常量时必须赋值

常量赋值后,值不能修改

2.解构赋值

数组解构:

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

对象解构:

   let person = { name: 'zhangsan', age: 20 }; 
   let { name, age } = person;
   let {name: myName, age: myAge} = person; 
    // myName myAge 属于别名   

箭头函数

 const fn = () => {}

  函数体中只有一句代码,
  且代码的执行结果就是返回值,
  可以省略大括号和return
  如果形参只有一个,可以省略小括号
  const fn = v => v;
  箭头函数不绑定this关键字,
  箭头函数中的this,指向的是函数定义位置的上下文this
  

剩余参数

剩余参数语法允许我们将一个不定数量的参数表示为一个数组 声明不知道参数情况下的一个函数 ...args

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

Array 的扩展方法(★★)

扩展运算符

扩展运算符可以将数组或者对象转为用逗号分隔的参数序列

  let ary = [1, 2, 3];
  ...ary  // 1, 2, 3
   console.log(...ary);    // 1 2 3,相当于下面的代码
   console.log(1,2,3);

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

find()

用于找出第一个符合条件的数组成员,如果没有找到返回 undefined

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

findIndex()

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

 let ary = [1, 5, 10, 15];
 let index = ary.findIndex((value, index) => value > 9); 
 console.log(index); // 2
 

forEach()

遍历数组

 arr.forEach(function(value, index, array) {
   //参数一是:数组元素
   //参数二是:数组元素的索引
   //参数三是:当前的数组
 })
  //相当于数组遍历的 for循环 没有返回值

filter()

过滤数组

 let ary = [1, 5, 10, 15];
 let index = ary.findIndex((value, index) => value > 9); 
 console.log(index); // 2 

some

some 查找数组中是否有满足条件的元素

   var arr = [10, 30, 4];
 var flag = arr.some(function(value,index,array) {
//参数一是:数组元素
 //参数二是:数组元素的索引
 //参数三是:当前的数组
 return value < 3;
 });
console.log(flag);//返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环

String 的扩展方法

模板字符串

 let name = `zhangsan`;
 模板字符串中可以解析变量
 let name = '张三'; 
 let sayHello = `hello,my name is ${name}`
 模板字符串中可以换行
 在模板字符串中可以调用函数