Ошибка при сборке выпущенного APK с флаттером в андроид студии

Очевидный простой ответ отсутствует, поэтому для полноты:

Но есть , любой способ иметь значения в свойствах объекта литерала зависит от других объявленных свойств раньше?

Нет. Все решения здесь откладывают до тех пор, пока объект не будет создан (по-разному), а затем назначит третье свойство. Простейший способ состоит в том, чтобы просто сделать это:

var foo = {
    a: 5,
    b: 6
};
foo.c = foo.a + foo.b;

Все остальные - более косвенные способы сделать то же самое. (Felix's особенно умный, но требует создания и уничтожения временной функции, добавления сложности и либо оставляет дополнительное свойство для объекта, либо [если вы delete это свойство] влияет на производительность последующего свойства доступ к этому объекту.)

Если вам нужно, чтобы все были в одном выражении, вы можете сделать это без временного свойства:

var foo = function(o) {
    o.c = o.a + o.b;
    return o;
}({a: 5, b: 6});

Или, конечно, если вам нужно для этого более одного раза:

function buildFoo(a, b) {
    var o = {a: a, b: b};
    o.c = o.a + o.b;
    return o;
}

, где вам нужно его использовать:

var foo = buildFoo(5, 6);

0
задан Osama Mohammed 23 March 2019 в 13:44
поделиться