2.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, localeTitle
| 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/