Files
freeCodeCamp/guide/russian/javascript/with/index.md
2018-10-16 21:32:40 +05:30

75 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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