ES6 數值、數組、對象、函數方法


ES6中數值的用法
  • Number.isNaN()函數:用於判斷傳入的是否是非數值 ,  NaN(非數值),才返回true
    • console.log(Number.isNaN(2.5)); //false
    •     console.log(Number.isNaN('abc')); //false
    •     console.log(Number.isNaN(NaN)); //true
  • umber.isFinite() 函數    用來檢查一個數值是否非無窮  只有無窮大時才為false
    • console.log(Number.isFinite(555)); //true
    •     console.log(Number.isFinite(Infinity)); //false
  • Number.parseInt()函數   :解析一個字符串,返回一個整數
  • Number.parseFloat()    解析字符串,返回碰到第一個非數字返回
    • console.log(parseInt('12.55as')); //12
    •     console.log(Number.parseInt('12.55as')); //12
    •     console.log(Number.parseFloat('12.55as')); //12.55
  • Number.isInteger()函數  用來判斷是否是整數
    • console.log(Number.isInteger(3.5)); //false
    •     console.log(Number.isInteger(3.0)); //true
  • Math.trunc()函數  用於去除一個數的小數部分,返回整數部分。
    • console.log(Math.trunc(3.0)); //3
    •     console.log(Math.trunc(3.55)); //3
  • Math.sign()函數 用來判斷一個數到底是正數、負數、還是零。
    • console.log(Math.sign(-3)); //-1
    •     console.log(Math.sign(0)); //0
    •     console.log(Math.sign(3)); //1
 
ES6數組方法
  • Array.of()函數   將一組值,轉換成數組。
    • var str = "123abc";
    •     var res = Array.of(str);
    •     console.log(res); //["123abc"]
  • Array.from() 函數  可以將類似數組(偽數組)的對象或者可遍歷的對象轉換成真正的數組。
    • var box = document.getElementsByTagName('div');
    • console.log(box instanceof Array); //false
    • console.log(Array.from(box) instanceof Array); //true
  • find()函數   找出數組中符合條件的第一個元素。
    • let ary = ['a', 'b', 'c', 'd', 1, 2, 3];
    •     var res2 = ary.find(function (value) {
    •         return value > "a";
    •     });
    • console.log(res2); //b
  • findIndex() 函數  返回符合條件的第一個數組成員的位置。有符合元素返回位置索引,沒有符合元素返回-1
    • var res4 = ary.findIndex(function (value) {
    •         return value > "a";
    •     });
    •     var res5 = ary.findIndex(function (value) {
    •         return value > "d";
    •     });
    •     console.log(res4); //1
    •     console.log(res5); //-1
  • fill()函數  用指定的值,填充到數組。從位置 第二個參數 的元素開始填充 第一個參數,截止到位置 第三個參數 之前
    • console.log(ary); // ["a", "b", "c", "d", 1, 2, 3]
    •     ary.fill('o', 1, 4);
    •     console.log(ary); // ["a", "o", "o", "o", 1, 2, 3]
  • entries() 函數  對數組的鍵值對進行遍歷,返回一個遍歷器,可以用for..of對其進行遍歷。
    • for (let [i, v] of ['a', 'b', 'c'].entries()) {
    •         console.log(i, v); //0 "a"   1 "b"   2 "c"
    •     }
  • keys()  函數   對數組的索引鍵進行遍歷,返回一個遍歷器。
    • 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
    •     }
 
ES6對象方法
  • ES6中的簡寫
    • var name = '李四';  var age = 18;
    • var person1 = {  name,  age,  say() {
    •             console.log('ES6')    }    };
    •     console.log(person1); //{name: "李四", age: 18, say: ƒ}
  • 屬性名的更新  用字面量定義一個對象的時候,可以用表達式作為對象的屬性名或者方法名。
    • var f = 'first';    var n = 'name';  var s = 'say';    var h = 'hello';
    •     var person2 = {[f + n]: '張小凡', [s + h]() {  return '你好嗎?';  }}
    •     console.log(person2.firstname); //張小凡
    •     console.log(person2.sayhello()); //你好嗎?
  • Object.is()函數  比較兩個值是否嚴格相等,或者說全等
    • var str = '12';    var num1 = 12;   var num2 = 12;
    • console.log(Object.is(str, num1)); //false
    •     console.log(Object.is(num1, num2)); //true
  • Object.assign() 函數  將源對象的屬性賦值到目標對象上。源對象可以是一個或者一個以上,而目標對象只有一個。
    • let a = { 'a': 1 };
    •     let b = { 'b': 2, 'c': 3 };
    •     let c = { 'd': 4, 'e': 5 };
    •     Object.assign(a, b, c);
    •     console.log(a); //{a: 1, b: 2, c: 3, d: 4, e: 5}
  • Object.getPrototypeOf() 函數  獲取一個對象的prototype屬性。
    • function Person() {}
    •     Person.prototype = {  say() { console.log('hello');   }    }
    •     let p1 = new Person();
    •     p1.say(); //hello
    •     console.log(Object.getPrototypeOf(p1)); //{say: ƒ}
  • Object.setPrototypeOf()  函數  設置一個對象的prototype屬性
    • Object.setPrototypeOf(p1, { say() { console.log('更改了') }  });
    •     p1.say(); //更改了
  • Javascript中面向對象   將共用屬性和方法寫在函數的原型中
    • function Dog(name) {  this.name = name;    }
    •     Dog.prototype = {     'type': '動物',   'say': function () {  console.log('名zi叫' + this.name);    }    };
    •     var dog = new Dog('旺財');
    •     dog.say(); //名zi叫旺財
 
ES6函數方法
  • 函數默認值
    • 把默認值的設定放在了參數上,而不需要在函數體內進行檢測,一般將帶默認值的參數放在最后。只有當傳入的參數為undefined,才會觸發默認值賦值。否則,哪怕你傳的參數值為0,false,null都不會觸發默認值賦值
    • function person2(name = 'maqiao', age = 22) {console.log(name, age); }
    •     person2(); //maqiao 22
    •     person2('wangwu'); //wangwu 22
  • rest參數,這是一個新的概念,rest的中文意思是:剩下的部分。在實參中,除了第一個參數以外,剩余的參數都會被...values獲取到。rest參數必須是函數的最后一個參數
    • function sum(result, ...values) {
    •         console.log(values); // [1, 2, 3, 4, 5, 6]
    •         values.forEach(function (v, i) { result += v; })
    •         console.log(result); //21  }
    •     var res = 0;
    •     sum(res, 1, 2, 3, 4, 5, 6);
  • 擴展運算符 ...  可以將一個數組轉成一個對應的參數數列
    • function sum(a, b) {  return a + b;  }
    •     let arr = [2, 3];
    •     console.log(sum(...arr));
  • 箭頭函數
  • 箭頭函數中的this,指的是定義時候產生的。this此時指的是window並不是我們想的元素。
    • function fn3() {
    •         console.log(3);
    •         return function fn4() {
    •             console.log(4);
    •             return function fn5() {
    •                 console.log(5);            }        }    }
    •     var fn6 = () => { console.log(6); return () => { console.log(7); return () => { console.log(8); } } }
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM