Bu ne tür bir ES6 sözdizimi? Bunlar method definitions, computed property names ve iş yerinde destructuring olan https://github.com/quangbuule/redux-example/blob/master/src/js/reducers/Repo.jses6 hash dizi dizini işlev çağrısı karışık sözdizimi
8
A
cevap
23
:
{
[ActionTypes.Repo](state, { username, res }) {
/* ... */
},
[ActionTypes.Repo2](state, { username, res }) {
/* ... */
}
Alındığı.
class
tanımlarında yöntemleri oluşturmak için aynı sözdizimi
// before
var obj = {
foo: function() {}
};
// now
var obj = {
foo() {}
};
:
yöntem tanımlar işlevleri içeren özelliklerini oluşturmak için kısa bir yol sağlar.
Hesaplanan özellikler Eğer özellik adı olarak herhangi ifadenin sonucunu kullanmasına izin bir nesne değişmezi:
var foo='somePropertyName';
// before
var obj = {};
obj[foo] = 42;
// now
var obj = {
[foo]: 42
};
Ve tabii bu da yöntem tanımları çalışır:
var obj = {
[foo]() {}
};
Yapılandırma, desen eşleştirmesi gibidir ve bir dizinin iç içe geçmiş özelliklerine başvurmayı kolaylaştırır İhtiyacınız olan her şeyi varsa, bu iğneyi sıkıştırın:
// before
function foo(obj) {
var username = obj.username;
var res = obj.res;
}
// now
function foo({username, res}) {
}