2.7 KiB
title | localeTitle |
---|---|
With | С |
С
Оператор JavaScript with
выражением является сокращенным способом редактирования нескольких свойств на одном объекте. Большинство разработчиков отговорить использование with
, и вы лучше не использовать это ключевое слово.
Примечание : "strict mode"
запрещает использование with
.
Синтаксис
with (expression)
statement
Пример использования
В JavaScript вы можете индивидуально изменять свойства объекта, как показано ниже:
let earth = {};
earth.moons = 1;
earth.continents = 7;
with
дает вам стенографию для изменения свойств объекта:
with (earth) {
moons = 1;
continents = 7;
}
Хотя этот пример надуман, вы можете понять примеры использования with
большим количеством, если у вас есть более крупные объекты, например:
earth.continents.australia.geography.ocean = "Pacific";
earth.continents.australia.geography.river = "Murray";
earth.continents.australia.geography.mountain = "Kosciuszko";
альтернативы
Вы не должны использовать with
, как это имеет тонкие ошибки и проблемы совместимости. Очень рекомендуемый подход - назначить объект переменной, а затем изменить свойства переменной. Вот пример использования более крупного объекта:
let earth = {
continents: {
australia: {
geography: {}
}
}
};
let geo = earth.continents.australia.geography;
geo.ocean = "Pacific";
geo.river = "Murray";
geo.mountain = "Kosciuszko";
Попробовать
Дополнительная информация:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with
https://yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/