zoukankan      html  css  js  c++  java
  • es6的新方法

    在es5的基础上,es6添加了一些新的方法具体如下:

    1、数值方法

    1、Number.isNaN() ;   本来是在window下的  判断是否是非数字的方法,转变到Number下后,效果也是一样,
       不过如果是字符串的话  会先转化成number类型 也就是转换成了NaN,再判断,当然返回的就是false喽!
      console.log(Number.isNaN(2));  //fasle
      console.log(Number.isNaN('sdf')); //false
      
      2、两个Math方法
            1、Math.trunc(); //取整
              console.log(Math.trunc(5.32)); //5
            2、Math.sign(); //判断正数负数和零
             console.log(Math.sign(2.6)); //1
             console.log(Math.sign(-2.6));//-1
             console.log(Math.sign(0)); //0

    2、数组方法

     1、Array.of(),将任意一组值转换成数组
          var name = 'guojunqiang';
          console.log(Array.of(name)); //["guojunqiang"]
      
      2、Array.from()  类数组(伪数组)转换成数组
      
          var btn = document.getElementsByTagName('button');
          console.log(btn);  //HTMLCollection(5) [button, button, button, button, button]
          console.log(Array.from(btn));  //(5) [button, button, button, button, button]
    
      3、find()  查找符合条件的第一个元素,函数返回  未找到返回undefined
         var arr = [1, 2, 3, 4, 5]
          console.log(arr.find(function (value) {
              // return value >3;
              return value > 8;  //undefined
    
          }));
    
      4、findIndex()  符合条件的第一个元素的位置  (索引位置) 如果未找到则返回-1
          var arr = [1, 2, 3, 4, 5]
          console.log(arr.findIndex(function (value) {
              // return value > 6;  //-1
              return value > 3;  //3
    
          }));
      5、fill() 填充  数组中的每一项或者某一项    后两个参数  是索引开始的位置和索引结束的位置,不包含结束的位置,包含开始的位置
                var arr1 = [1, 2, 3, 4, 5];
                console.log(arr1.fill('w'));  //(5) ["w", "w", "w", "w", "w"]
                console.log(arr1.fill('e', 1, 3));  //["w", "e", "e", "w", "w"]
    
      6、entries() 遍历器返回键值对
    
             for (let [k, v] of ['a', 'b', 'c'].entries()) {
                    console.log(k, v);
                     //   0 "a"
                    //   1 "b"
                    //   2 "c"
          }
      
        **key()**
    
          for (let index of ['a', 'b', 'c'].keys()) {
              console.log(index);
              //   0
              //   1 
              //   2   
          }
    
        ** values()**
    
          for (let value of ['a', 'b', 'c'].values()) {
           console.log(value);
              //   a
              //   b
              //   c  
          }

    3、对象方法

    1、属性名的更新,自定义变量名的改变
    
          var f = 'first';
          var n = 'Name';
          var s = 'say';
          var h = 'Hello';
    
          var person = {
              [f + n]: '郭俊强',
              [s + h]() {
                  console.log('你好吗?我很好!');
              }
          }
          console.log(person.firstName);//郭俊强
          person.sayHello();//你好吗?我很好!
      
      2、Object.is()    判断 === 
    
             var str1 = '123';
             var str2 = 123;
             var res = Object.is(str1, str2)
             console.log(res);  //false
      3、Object.assign()  将源对象的属性赋值给目标对象
            var target = { 'name': 'zs' }
            var source = { 'age': 18, "sex": '男' }
            console.log(Object.assign(target, source)); //{name: "zs", age: 18, sex: "男"}
    
      4、Object.getPrototypeOf()  //获取对象原型属性
         Object.setPrototypeOf() //设置对象原型属性
      
      function Person() { }
      Person.prototype = {
            say() {
                  console.log('我是old的方法');
              }
      }
      let p1 = new Person();
      p1.say();
      console.log(Object.getPrototypeOf(p1));  //{say: ƒ}
    
      Object.setPrototypeOf(p1, {
            say() {
                  console.log('我是新的方法');
            }
      });
      p1.say(); //我是新的方法
  • 相关阅读:
    ORA-30567: name already used by an existing
    vue router 需要go(-2)才能返回前一页
    MVC理解
    细说业务逻辑(后篇)
    细说业务逻辑(前篇)
    Python学习笔记-风变编程
    Python3 基础语法最常⻅报错类型&示意
    删除我的电脑/此电脑里的多余图标(坚果云、百度网盘、腾讯XX、WPS)
    vue 父组件传递方法 :和@的区别
    最全 Neo4j 可视化图形数据库的工具!
  • 原文地址:https://www.cnblogs.com/chengxiao35/p/13598612.html
Copyright © 2011-2022 走看看