JS-ES6新增加的知识点

1.变量let

  • 新增的用于声明变量的关键字,类似于var
  • 用let声明的变量具有块级作用域,var声明的变量不具有块级作用域

例如:在{ }里的let只能在{ }运用,在{ }外边是不可以的

  • 不存在变量提升,必须要先声明在使用
  • 暂时性死区,var和let声明了同一个变量,在let之前log变量是会出错显示没有定义变量的,let是会和{}里面的进行绑定的

2.常量const

  • const是声明常量(内存地址)不能改变的量
  • 具有块级作用域
  • 声明常量时必须赋值
  • 常量赋值之后,值不能修改

3.var、let和const的区别

  1. var 是函数级作用域,可以变量提升,赋值之后值可以更改
  2. let是块级作用域,不存在变量提升,值可以更改
  3. constr也是块级作用域,不存在变量提升,值不可以更改

4.数组解构

  • 允许我们按照一一对应的关系从数组中提取值,然后把值给变量,如果不能一一对应上,解构不成功,变量的值为undefined
      const[a,b,c]=[1,2,3]

这里面其实就相当于分别给a,b,c赋值为1,2,3,

5.对象解构

  • 允许我们使用变量的名字匹配对象的属性值
  • 匹配成功将对象属性的值赋值给变量

6.箭头函数()=>{}

  1. ()里面是放形参的,{}里面是函数体
  2. 如果形参只有一个,是可以省略()
  3. 若函数体内只要一句代码,且代码的执行结果就是返回值,{}可以省略
  4. 箭头函数中的this指向的是函数定义位置的上下文this

7.剩余参数(允许将不定量的值作为一个参数)

 //1.普通        
 function sum(first, ...args) {            
 console.log(first); //10            
 console.log(args); //20,30,40       
  }        sum(10, 20, 30, 40);        
  //2.剩余参数和解构直接使用        
  let students = ["wangwu", "dvsd", "dfgd"];        
  let [s1, ...s2] = students;        
  console.log(s1);        
  console.log(s2);

8.Array的拓展方法

1.扩展运算符

  1. 可以将数组或者对象转为用逗号分隔的参数序列
let arr=[1,2,3,4];
console.log(...arr);//1 2 3
  1. 合并函数
 //合并数组        
 let arr1 = [1, 2, 3, 4];       
  let arr2 = [7, 8, 9, 10];        
  // console.log(...arr1, ...arr2)
        arr1.push(...arr2);        
        console.log(arr1);
  1. 将类数组/可遍历对象转化为真正的数组
var oDivs=document.getElementByTagname("div");
var ary=[...oDivs];
console.log(ary);//会直接把好多个div元素里面的值都放在一个数组里面

2.构造函数方法Array.from()

  1. 里面的方法还可以接第二个参数,作用类似于数组的map(),用来对每个元素进行处理,将处理后的值放入返回的数组
   let array={
   "0":"a",
   "1","b",
   "2":"c",
   length:3
};
let ary=Array.from(array);

3.实例方法:find()

  1. 用来查找第一个符合条件的数组成员,如果没找到就返回undefined
  2. 查找对象.find((item,index)=>条件);
 let ary = [{           
     id: 1,           
      name: "张三",           
       score: 99       
        },
         {            
        id: 2,            
        name: "杨晨旗"        
        }];        
        let target = ary.find((item, index) => item.score == 99);        
        console.log(target);

4.实例方法 :findindex()

  1. 用来查找第一个符合条件的数组成员的位置,没找到就返回-1
  let aery = [10, 20, 30];        
  var x = aery.findIndex(item => {           
   return item > 15;        
   });       
    console.log(x);

5.实例方法:includes()

  1. 表示某个数组是否包含给定的值,返回的是布尔值
  var x2 = ["a", "b", "c"];       
 console.log(x2.includes("a"));

9.string的扩展方法

1.模板字符串``

特点:

  1. 可以解析变量${变量}
 let uname = `zhangsan`;        
 console.log(uname);        
 //特点:(1)可以解析变量        
 let sayhi = `你好,我的名字是 ${uname}`;        
 console.log(sayhi);
  1. 可以换行
 let reslut = {           
  name: "yangchenqi",            
  score: "99",           
   sex: "女"       
    };       
     let html = `   
          <div>      
                     <span>${reslut.name}</span>      
                      <span>${reslut.score}</span>            
                      <span>${reslut.sex}</span>                 
                       <div>      
                         `;       
                        console.log(html);
  1. 可以调用函数
const saa = function() {           
 return `我就是如此的美丽`;       
  }       
   let re = `${saa()}猪猪猪`;       
    console.log(re);

2.实例方法StartsWidth()和endsWidth()

  1. StartsWidth()表参数字符串是否在原字符的头部,返回布尔值
  2. endsWidth()表参数字符串是否在原字符的尾部,返回布尔值
   let str = "yang chenqi";        
   var xx = str.startsWith("yang");        
   var xxx = str.endsWith("zhu");        
   console.log(xx); //true        
   console.log(xxx); //false

3.实例方法:repeat()

  1. 表示原字符串重复n次,返回一个新的字符串
 console.log(('x').repeat(5)); //xxxxx

10.Set数据结构

1.基础

  1. Set本身是一个构造函数,用来生成Set数据结构
const s=new Set();
  1. Set函数可以接受一个数组作为参数,用来初始化
const s=new Set([1,2,3,4]);

2.实例方法

  1. add(value):添加某个值,返回Set结构本身
  2. delete(value):删除某个值,返回一个布尔值,表示删除是否成功
  3. has(value):返回一个布尔值,表示该值是否为Set的成员
  4. clear():清楚所有的成员,没有返回值
  const x = new Set();        
  // const x2 = new Set([1, 2, 3]);        
  //1.add(value)        
  console.log(x.add(1).add(3));       
   //2.delete(value),返回true,表删除成功        
   console.log(x.delete(3));        
   console.log(x);        
   //3.has(value)       
    console.log(x.has(1));       
     //4.clear()删除所有的成员,没有返回值        
     console.log(x.clear());        
     console.log(x);
  1. 遍历:也拥有forEach()方法,无返回值
     const x5 = ["a", "v", "sx", "sa"];       
      x5.forEach(value => console.log(value));
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值