Skip to content

Commit e23b23a

Browse files
authored
Merge pull request #1552 from Rnbsov/patch-35
- Добавление недостающей информации - Обновление заданий - Небольшие правки по тексту Статья: learn.javascript.ru/constructor-new
2 parents afb71de + 1ae5b4b commit e23b23a

File tree

7 files changed

+82
-75
lines changed

7 files changed

+82
-75
lines changed

1-js/04-object-basics/06-constructor-new/1-two-functions-one-object/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Да, возможно.
22

3-
Если функция возвращает объект, то вместо `this` будет возвращён этот объект.
3+
Если функция возвращает объект, то `new` вернёт его вместо `this`.
44

5-
Например, они могут вернуть один и тот же объект `obj`, определённый снаружи:
5+
Таким образом, они могут, к примеру, возвращать один и тот же внешне определённый объект `obj`:
66

77
```js run no-beautify
88
let obj = {};

1-js/04-object-basics/06-constructor-new/1-two-functions-one-object/task.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ importance: 2
44

55
# Две функции - один объект
66

7-
Возможно ли создать функции `A` и `B` в примере ниже, где объекты равны `new A()==new B()`?
8-
7+
Возможно ли создать функции `A` и `B`, чтобы `new A() == new B()`?
98

109
```js no-beautify
1110
function A() { ... }
@@ -17,4 +16,4 @@ let b = new B;
1716
alert( a == b ); // true
1817
```
1918

20-
Если да - приведите пример вашего кода.
19+
Если да приведите пример вашего кода.

1-js/04-object-basics/06-constructor-new/2-calculator-constructor/_js.view/test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ describe("calculator", function() {
1010
calculator = new Calculator();
1111
calculator.read();
1212
});
13+
14+
it("the read method asks for two values using prompt and remembers them in object properties", function() {
15+
assert.equal(calculator.a, 2);
16+
assert.equal(calculator.b, 3);
17+
});
1318

1419
it("when 2 and 3 are entered, the sum is 5", function() {
1520
assert.equal(calculator.sum(), 5);

1-js/04-object-basics/06-constructor-new/2-calculator-constructor/task.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@ importance: 5
22

33
---
44

5-
# Создание калькулятора при помощи конструктора
5+
# Создайте калькулятор при помощи конструктора, new Calculator
66

7-
Создайте функцию-конструктор `Calculator`, который создаёт объекты с тремя методами:
7+
Создайте функцию-конструктор `Calculator`, которая создаёт объекты с тремя методами:
88

99
- `read()` запрашивает два значения при помощи `prompt` и сохраняет их значение в свойствах объекта.
10-
- `sum()` возвращает сумму введённых свойств.
11-
- `mul()` возвращает произведение введённых свойств.
12-
10+
- `sum()` возвращает сумму этих свойств.
11+
- `mul()` возвращает произведение этих свойств.
1312

1413
Например:
1514

1-js/04-object-basics/06-constructor-new/3-accumulator/_js.view/solution.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ function Accumulator(startingValue) {
22
this.value = startingValue;
33

44
this.read = function() {
5-
this.value += +prompt('How much to add?', 0);
5+
this.value += +prompt('Сколько нужно добавить?', 0);
66
};
77

88
}

1-js/04-object-basics/06-constructor-new/3-accumulator/task.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,24 @@ importance: 5
22

33
---
44

5-
# Создаём Accumulator
5+
# Создайте new Accumulator
66

7-
Напишите функцию-конструктор `Accumulator(startingValue)`.
7+
Создайте функцию-конструктор `Accumulator(startingValue)`.
88

99
Объект, который она создаёт, должен уметь следующее:
1010

1111
- Хранить "текущее значение" в свойстве `value`. Начальное значение устанавливается в аргументе конструктора `startingValue`.
12-
- Метод `read()` использует `prompt` для получения числа и прибавляет его к свойству `value`.
12+
- Метод `read()` должен использовать `prompt` для считывания нового числа и прибавления его к `value`.
1313

14-
Таким образом, свойство `value` является текущей суммой всего, что ввёл пользователь при вызовах метода `read()`, с учётом начального значения `startingValue`.
14+
Другими словами, свойство `value` представляет собой сумму всех введённых пользователем значений, с учётом начального значения `startingValue`.
1515

1616
Ниже вы можете посмотреть работу кода:
1717

1818
```js
1919
let accumulator = new Accumulator(1); // начальное значение 1
2020

21-
accumulator.read(); // прибавит ввод prompt к текущему значению
22-
accumulator.read(); // прибавит ввод prompt к текущему значению
21+
accumulator.read(); // прибавляет введённое пользователем значение к текущему значению
22+
accumulator.read(); // прибавляет введённое пользователем значение к текущему значению
2323

2424
alert(accumulator.value); // выведет сумму этих значений
2525
```

0 commit comments

Comments
 (0)