es7-8整理

console.png

es7

  1. includes()

驗證數組中是否存在某個元素,也能檢測出數組中NaN

const a = [1, 2, 3, 4];
a.includes(1) // true;

[NaN, 1].includes(NaN) // true; 
[NaN, 1].indexOf(NaN) // -1
  1. 使用指數運算符**
console.log(2**3) // 8;

es8

  1. Object.values()

返回一個由對象屬性值組成的數組。

const obj = {
  a: 1,
  b: 2,
  c: 3
};
Object
  .values(obj)
  .forEach(value => {
    console.log(value);
  });

// 1 2 3
  1. Object.entries()

如果 JavaScript 數據結構具有鍵和值,條目是一個鍵值對,被編碼為2元數組。

const obj = {a: 1, b: 2, c: 3};
const temp = Object.entries(obj);
console.log(temp)
// [['a', 1], ['b': 2], ['c': 3]];
  1. padStart() && padEnd()

padStart()是在字符串前使用 fillString 填充,直到字符串長度為 maxLength;
padEnd() 的工作方式與 padStart() 類似,但不是在字符串開始的地方插入重復的 fillString ,而是將其插入到字符串結束的地方;

'x'.padStart(5, 'ab')       
log: 
  'ababx'
'x'.padStart(4, 'ab')
log: 
  'abax'
'abcd'.padStart(2, '#') (如果接收字符串的長度大于等于 maxLength ,則返回原始字符串)
log:
  'abcd'
'x'.padStart(3) (如果省略了 fillString ,則使用一個單獨空格字符串(”)代替)
log:
  '  x'

'x'.padEnd(5, 'ab')
log:
  'xabab'
'x'.padEnd(4, 'ab')
log:
  'xaba'
'abcd'.padEnd(2, '#')
log:
  'abcd'
'abc'.padEnd(10, '0123456789')
log:
  'abc0123456'
'x'.padEnd(3)
log:
  'x  '
  1. 函數參數列表和調用中尾部的逗號不會再觸發(fā)錯誤警告
eg: 
function es8(var1, var2, var3,) {
  // ...
}
  1. Object.getOwnPropertyDescriptors

返回指定對象所有自身屬性(非繼承屬性)的描述對象。(相當于Object.getOwnPropertyDescriptor的復數形式)

const aa = {
  a: 1,
  b: 2
}
console.log(Object.getOwnPropertyDescriptors(aa));
log:
  a: {value: 1, writable: true, enumerable: true, configurable: true}
  b: {value: 2, writable: true, enumerable: true, configurable: true}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容