es6 javascript物件屬性的簡潔表示法

2021-07-25 02:01:55 字數 1279 閱讀 2839

es6 允許直接寫入變數和函式,作為物件的屬性和方法。這樣的書寫更加簡潔。

var foo = 'bar';

var baz = ;

baz //

// 等同於

var baz = ;

上面**表明, es6 允許在物件之中,只寫屬性名,不寫屬性值。這時,屬性值等於屬性名所代表的變數。下面是另乙個例子。

function f(x, y) ;

}// 等同於

function f(x, y) ;

}f(1, 2) // object

除了屬性簡寫,方法也可以簡寫。

var o = 

};// 等同於

var o =

};

下面是乙個實際的例子。

var birth = '2000/01/01';

var person =

};

這種寫法用於函式的返回值,將會非常方便。

function getpoint() ;

}getpoint()

//

commonjs 模組輸出變數,就非常合適使用簡潔寫法。

var ms = {};

function getitem (key)

function setitem (key, value)

function clear () ;

}module.exports = ;

// 等同於

module.exports = ;

屬性的賦值器( setter )和取值器( getter ),事實上也是採用這種寫法。

var cart = ,

set wheels (value)

this._wheels = value;

}}

注意,簡潔寫法的屬性名總是字串,這會導致一些看上去比較奇怪的結果。

var obj = 

};// 等同於

var obj =

};

上面**中,class是字串,所以不會因為它屬於關鍵字,而導致語法解析報錯。

如果某個方法的值是乙個 generator 函式,前面需要加上星號。

var obj = 

};

es6 javascript物件的擴充套件運算子

目前,es7 有乙個提案,將 rest 解構賦值 擴充套件運算子 引入物件。babel 轉碼器已經支援這項功能。1 rest 解構賦值 物件的 rest 解構賦值用於從乙個物件取值,相當於將所有可遍歷的 但尚未被讀取的屬性,分配到指定的物件上面。所有的鍵和它們的值,都會拷貝到新物件上面。let x ...

es6 javascript屬性的可列舉性

物件的每個屬性都有乙個描述物件 descriptor 用來控制該屬性的行為。object.getownpropertydescriptor方法可以獲取該屬性的描述物件。let obj object.getownpropertydescriptor obj,foo 描述物件的enumerable屬性,...

ES6 JavaScript 的深複製和淺複製

react中,我們會遇到乙個有趣的問題,那就是物件的複製,為什麼說有趣,是因為直覺和結果差距很大。我們看一下這個例子 let a let b a a.title 淺複製 那麼我們會獲得兩個物件,乙個a,乙個b,a的title是淺複製,b的title是深複製。但結果真是這樣嗎?我們console.lo...