es6知识

1.let
1.在大括号中,才有let是块级作用域 :防止循环变量变成全局变量
2.不存在变量提升 就是不会预解析
3.会存在暂时死区性 就是在外部定义var num,在funtion也存在let,这个let num会让区域绑定,不访问外部的num

2.const
1、具有块级作用域
const只在自己的{}内有效 不会影响其他的作用域
2.使用const设置常量一定要初始值
3.常量就是值(内存地址)不能变化的值
注意:复杂数据类型例如是数组:
const =[123,abc];arr[0]=321;
这样修改里面的值是可以的 对于复杂数据类型可以修改 就是修改内部的值是可以的,但是不可以重新赋值

3.解构赋值
es6中允许从数组中提取值,按照变量对应的位置,对变量进赋值。对象也可实现解构

let arr = [1,2,3];
let [a,b,c] = arr;/* []这个不是数组,而是解构的意思,里面全部都是变量  可以实现一对一完美对应  
console.log(a);输出1
console.log(b);输出2
console.log(c);输出3

解构的时候,参数多了d和e,这是输出的e和d是undefind

let [a,b,c,d,e] = arr

对象解构:

let person = {name:'andy',age :18};
let {name ,age} = person;
console.log(name); //andy
console.log(age);//18

4.箭头函数
() => {} 简化函数的 一般把箭头函数赋值给一个变量,这样调用才方便
1.在箭头函数中,如果函数体只有一句代码,并且返回值就是执行的结果,函数的大括号可以省略

const sum = (n1,n2) =>n1+n2
console.log(sum(2,4)); //6

2.如果形参只有一个那么这个小括号也可以省略

const fun = v => v;
 console.log(fun(2));

箭头函数没有自己的this 不进行绑定,箭头函数的this 指向的是函数定义位置的上下文this

5.剩余参数
1.剩余参数允许将一个不定数量的参数表示为一个数组

const sum = (...args) => {
        /* 三个点代表接收所有的形参将这些形参相加 */
        let total = 0;
        args.forEach(
        (item) => (total += item)
        ); /* item只有一个形参 所以小括号省略  代码只有一行所以大括号省略 */
        return total;
      };
      console.log(sum(12, 34, 21));
      console.log(sum(43, 2, 45, 13, 5));
let arr = ["张三", "物理", "历史"];
      //   数组解构
      let[s1,...s2] = arr;
      console.log(s1);
      console.log(s2);/* 就会把除s1,其他剩余的值存储成一个数组  */

6.find
找出第一个符合条件的数组成员,如果没有找到就返回undefind

var ary = [
        {
          id: 1,
          name: "bee",
        },
        {
          id: 2,
          name: "comby",
        },
      ];
  let f = ary.find((item) => item.id == 2);
 console.log(f);

和findIndex一样的使用 不过返回的是索引号;

7.includes();
表示某个数组是否含有指定的值,返回的是布尔值

[1,2,3,4]includes(2)  //true

8.模板字符串
1.可以直接对字符串进行拼接 不需要+号 :

var name ='andy'
`hello, my name is $(name)`
  1. 模板字符串可以换行
    3、模板字符串可以调用函数
const fn =()=>return '我是字符串'
`我是字符串${fn()}`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值