72 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Object Instantiation | |||
|  | localeTitle: Создание объектов | |||
|  | --- | |||
|  | ## Создание объектов
 | |||
|  | 
 | |||
|  | В Javascript и большинстве других языков объект содержит ряд свойств, которые представляют собой пару ключей, значений. Существует несколько вариантов, когда вам нужно построить объект. | |||
|  | 
 | |||
|  | ### Инициализировать переменную объекта
 | |||
|  | 
 | |||
|  | Вы можете создать объект с заранее определенными свойствами: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | let myObject = {  | |||
|  |   name: "Dave",  | |||
|  |   age: 33  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### Создание пустого объекта
 | |||
|  | 
 | |||
|  | Это создает пустой объект внутри нашей переменной myObject: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | let myObject = new Object();  | |||
|  | ``` | |||
|  | 
 | |||
|  | Когда вы хотите добавить свойства к своему объекту, вы просто используете либо нотацию ноты, либо скобку с именем свойства по вашему выбору: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | myObject.name = "Johnny Mnemonic"  | |||
|  |  myObject["age"] = 55  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### Использование функции конструктора
 | |||
|  | 
 | |||
|  | Вы можете определить функцию-конструктор, которую вы можете использовать для создания ваших объектов: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | function Kitten(name, cute, color) {  | |||
|  |   this.name = name,  | |||
|  |   this.cute = cute,  | |||
|  |   this.color = color  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Вы можете определить переменную, содержащую экземпляр этого объекта, вызывая функцию конструктора: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | let myKitten = new Kitten("Nibbles", true, "white")  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### Object.create ()
 | |||
|  | 
 | |||
|  | Метод Object.create () (впервые определенный в ECMAScript 5.1) позволяет создавать объекты. он позволяет вам выбрать объект-прототип для вашего нового объекта без необходимости заранее определять функцию-конструктор. | |||
|  | 
 | |||
|  | ```javascript | |||
|  | // Our pre-defined object  | |||
|  |  let kitten = {  | |||
|  |   name: "Fluff",  | |||
|  |   cute: true,  | |||
|  |   color: "gray"  | |||
|  |  }  | |||
|  |  // Create a new object using Object.create(). kitten is used as the prototype  | |||
|  |  let newKitten = Object.create(kitten)  | |||
|  |   | |||
|  |  console.log(newKitten.name) // Will output "Fluff"  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### Больше информации
 | |||
|  | 
 | |||
|  | [Статья MDN по работе с объектами](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects) |