ES6的基础知识(二)

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ES6的基础知识(二)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

demo地址

函数

  • 默认参数

    function PErson(name = "xiaohong", age = 18) {
      this.name = name;
      this.age = age;
    }
    let person1 = new Person();
    
    console.LOG(person1.name); // xiaohong
    
  • 省略参数

    function test(...arg) {
      let res = arg.reduce(function(sum, ITem) {
        return sum + item;
      });
      console.log(res); // 6
    }
    
    test(1, 2, 3);
  • 箭头函数

    let sum = (a, b) => {
      return a + b;
    };
    console.log(sum(1, 2)); // 3
    
    // 单个参数可省略小括号,直接返回可省略函数大括号
    let double = num => num * 2;
    console.log(double(2)); // 4
    
    // 箭头函数没有this,内部的this就是上层代码块的this
    let obj = {
      name: "xiaohong",
      say: function() {
        // 指向上层代码块obj
        setTimeout(() => {
          console.log(this.name); // xiaohong
        });
    
        // 指向window
        setTimeout(function(){
          console.log(this.name); // undefined
        });
      }
    };
    obj.say();
    
    let fn = () => {
      console.log(this); // window
    };
    fn();
  • Array.From()将类数组转成数组

    function sum() {
      return Array.from(arguments).reduce((val, item) => {
        return val + item;
      });
    }
    console.log(sum(1, 2, 4)); // 7
  • fill填充数组

    let arr = [, ,];
    console.log(arr.fill(1)); // [1, 1]
  • find找到数组中第一个满足条件的元素

    let arr = [1, 2, 3];
    let item = arr.find(item => {
      return item > 1;
    });
    console.log(item); // 2
  • findIndex找到数组中第一个满足条件的元素索引

    let arr = [1, 2, 3];
    let index = arr.findIndex(item => {
      return item > 1;
    });
    console.log(index); // 1
  • some数组中是否存在满足条件的元素

    let arr = [1, 2, 3];
    let flag = arr.some(item => {
      return item >= 3;
    });
    console.log(flag); // true
  • every数组中是否所有元素都满足条件

    let arr = [1, 2, 3];
    let flag = arr.every(item => {
      return item >= 3;
    });
    console.log(flag); // false
  • @H_406_412@

    对象

    • 对象的属性和方法可简写

      let name = 'xiaohong';
      let obj = {
        // 当key值和变量一致时可省略
        name, 
        // 方法可简写成这样
        sayName(){}
      }
    • 对象的继承

         let obj = {
           name:'xiaohong',
           sayName(){
             console.log(this.name)
           }
         };
         let newObj = {
           name:'xiaoli'
         };
         
         Object.setPRototypeOf(newObj, obj);
         newObj.sayName(); // xiaoli
      
      
    • class

         // 声明类,只能通过new生成对象,不能直接使用
         class Parent {
           // 构造函数
           constructor(name) {
             // 实例私有属性
             this.name = name;
           }
      
           // 静态属性 不需要通过实例调用,类直接用
           static hello() {
             return "hello";
           }
      
           // 实例公共方法
           sayName() {
             return this.name;
           }
         }
      
         // extends继承
         class Child extends Parent {
           constructor(name) {
             // super 父级的构造函数
             super(name);
           }
         }
      
         let p = new Child("xiaoli");
         console.log(p.name); // xiaoli
         console.log(p.sayName()); // xiaoli
      

    脚本宝典总结

    以上是脚本宝典为你收集整理的ES6的基础知识(二)全部内容,希望文章能够帮你解决ES6的基础知识(二)所遇到的问题。

    如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。