ES2019 中的 8 個新特性

2021-09-11 21:02:03 字數 1581 閱讀 3967

1.可選的 catch 繫結

能夠在不使用 catch 繫結的地方選擇性地刪除它

try  catch (unused)
現在可以刪除未使用的繫結

try  catch
2.json 超集

此提議的動機是 json 字串可以包含未轉義的 u + 2028 line separator 和 u + 2029 paragraph separator 字元,而 ecmascript 字串則不能。在 es2019 之前,它會產生錯誤syntaxerror: invalid or unexpected token

const ls = eval('"\u2028"');

const ps = eval("'\u2029'");

3.符號說明

在 es2015 中引入符號,具有非常獨特的功能。在 es2019 中,它現在可以提供給定的描述。其目的是避免間接獲得所提供的描述symbol.prototype.tostring

const ls = eval('"\u2028"');

const ps = eval("'\u2029'");

4.function.prototype.tostring

我們之前已經在函式原型中使用了tostring方法,但是在 es2019 中它已被修改幷包含函式內的注釋,請注意它在arrow functions上不起作用。

function /* comment */ foo /* another comment */() {}

// before

console.log(foo.tostring()); // function foo(){}

// now es2019

console.log(foo.tostring()); // function /* comment */ foo /* another comment */ (){}

// arrow syntax

const bar /* comment */ = /* another comment */ () => {};

console.log(bar.tostring()); // () => {}

5.object.fromentries

它是 object.entries 的反向方法,它也是轉殖物件的方法之一

const obj = ;

const entries = object.entries(obj);

console.log(entries); // [ [ 'prop1', 1 ], [ 'prop2', 2 ] ]

const fromentries = object.fromentries(entries);

console.log(fromentries); // object

console.log(obj === fromentries); // false

6.

ES6中的新特性

本人最近學習es6一些方法,難免有些手癢,想著能不能將這些方法總結下,如下 1 陣列的擴充套件 1 首先什麼是偽陣列 無法直接呼叫陣列方法或期望length屬性有什麼特殊的行為,但仍可以對真正陣列遍歷方法來遍歷它們,例如 函式的argument引數,呼叫getelementsbytagname,do...

關於 ES7 ES8的一些新特性

array.prototype.includes 開發人員用來檢查陣列中是否存在值,indexof是一種尷尬的使用,因為它返回乙個元素在陣列中的位置或者 1當這樣的元素不能被找到的情況下。所以它返回乙個數字,而不是乙個布林值,includes存在為true,不存在為false 例子 陣列 1,2,3...

ES6的新特性

一 let,const與var的區別 1 let,const 不存在變數提公升。2 let,const 在同乙個作用域下不能重複定義相同的變數名稱。3 let,const 有嚴格的作用域,塊級作用域。var 則是函式作用域。4 const 宣告乙個唯讀的常量,一旦定義,常量的值不能改變。5 cons...