Skip to content

Commit 53e84cd

Browse files
committed
Merge
Signed-off-by: Alexander Ivanov <oshli.a.er@gmail.com>
2 parents c8b5e24 + 72307bf commit 53e84cd

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README_ru-RU.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ sayHi();
3838

3939
#### Ответ: D
4040

41-
Внутри функции мы сперва определям переменную `name` с помощью ключевого слова `var`. Это означает, что переменная будет поднята (область памяти под переменную будет выделена во время фазы создания) со значением `undefined` по умолчанию, до тех пора пока исполнение кода не дойдет до строчки, где определяется переменная. Мы еще не определили значение `name` когда пытаемся вывести её в консоль, поэтому в консоли будет `undefined`.
41+
Внутри функции мы сперва определяем переменную `name` с помощью ключевого слова `var`. Это означает, что переменная будет поднята (область памяти под переменную будет выделена во время фазы создания) со значением `undefined` по умолчанию, до тех пора пока исполнение кода не дойдет до строчки, где определяется переменная. Мы еще не определили значение `name` когда пытаемся вывести её в консоль, поэтому в консоли будет `undefined`.
4242

4343
Переменные, определенные с помощью `let``const`), также поднимаются, но в отличие от `var`, не <i>инициализируются</i>. Доступ к ним не возможен до тех пор, пока не выполнится строка их определения (инициализации). Это называется "временная мертвая зона". Когда мы пытаемся обратиться к переменным до того момента как они определены, JavaScript выбрасывает исключение `ReferenceError`.
4444

@@ -188,9 +188,10 @@ console.log(d.greeting);
188188
```
189189

190190
- A: `Hello`
191-
- B: `undefined`
192-
- C: `ReferenceError`
193-
- D: `TypeError`
191+
- B: `Hey!`
192+
- C: `undefined`
193+
- D: `ReferenceError`
194+
- E: `TypeError`
194195

195196
<details><summary><b>Ответ</b></summary>
196197
<p>
@@ -236,7 +237,7 @@ console.log(b === c);
236237

237238
Оператор `==` разрешает приведение типов, он проверяет равенство _значений_. Оба значения равны `3`, поэтому возвращается `true`.
238239

239-
При использвании оператора `===` значение _и_ тип должны быть одинаковыми. Но в нашем случае это не так: `new Number()` это не число, это **объект**. Оба возвращают `false`.
240+
При использовании оператора `===` значение _и_ тип должны быть одинаковыми. Но в нашем случае это не так: `new Number()` это не число, это **объект**. Оба возвращают `false`.
240241

241242
</p>
242243
</details>
@@ -327,7 +328,6 @@ bark.animal = "dog";
327328
В JavaScript это возможно, т.к. функции это объекты! (Всё есть объект кроме примитивов).
328329

329330
Функция это специальный тип объекта, который можно вызвать. Функция это объект со свойствами.
330-
A function is a special type of object. The code you write yourself isn't the actual function. The function is an object with properties. This property is invocable.
331331

332332
</p>
333333
</details>
@@ -430,7 +430,7 @@ console.log(sarah);
430430

431431
---
432432

433-
###### 14. Все объекты имют прототипы
433+
###### 14. Все объекты имеют прототипы
434434

435435
- A: Да
436436
- B: Нет
@@ -1005,7 +1005,7 @@ sayHi.bind(person, 21);
10051005

10061006
#### Ответ: D
10071007

1008-
В обоих случаях мы мы передаем объект, на который будет указывать `this`. Но `.call` _выполняется сразу же_!
1008+
В обоих случаях мы передаем объект, на который будет указывать `this`. Но `.call` _выполняется сразу же_!
10091009

10101010
`.bind` возвращает _копию_ функции, но с привязанным контекстом. Она не выполняется незамедлительно.
10111011

@@ -1186,7 +1186,7 @@ console.log(numbers);
11861186

11871187
Типы примитивов: `boolean`, `null`, `undefined`, `bigint`, `number`, `string`, и `symbol`.
11881188

1189-
Отличием примитива от объекта является то, что примитивы не имеют свойств или методов. Тем не менее, `'foo'.toUpperCase()` преобразуется в `'FOO'` и не вызывает `TypeError`. Это происходит потому, что при попытке получения свойства или метода у примитива (например, строки), JavaScript неявно обернет примитив объектом, используя один из классов-оберток (например, `String`), а затем сразу же уничтожет обертку после вычисления выражения. Все примитивы кроме `null` и `undefined` ведут себя таким образом.
1189+
Отличием примитива от объекта является то, что примитивы не имеют свойств или методов. Тем не менее, `'foo'.toUpperCase()` преобразуется в `'FOO'` и не вызывает `TypeError`. Это происходит потому, что при попытке получения свойства или метода у примитива (например, строки), JavaScript неявно обернет примитив объектом, используя один из классов-оберток (например, `String`), а затем сразу же уничтожит обертку после вычисления выражения. Все примитивы кроме `null` и `undefined` ведут себя таким образом.
11901190

11911191
</p>
11921192
</details>

0 commit comments

Comments
 (0)