generated from hexlet-basics/exercises-template
-
Notifications
You must be signed in to change notification settings - Fork 3
/
description.ru.yml
40 lines (29 loc) · 2.32 KB
/
description.ru.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
name: Неизменяемость
theory: |
Что напечатает на экран последний вызов?
```javascript
const name = 'Tirion';
console.log(name.toUpperCase()); // => TIRION
console.log(name); // => ?
```
Ответ на этот вопрос зависит от того, как вы поняли урок про неизменяемость примитивных типов данных. Вызов метода `.toUpperCase()` возвращает новое значение, в котором все буквы преобразованы в верхний регистр, но он не меняет (и не может этого сделать) исходную строку. Поэтому внутри константы (или переменной — это не важно) окажется старое значение: `'Tirion'`. Эта логика справедлива для методов всех примитивных типов. Более того, попытка изменить значение свойства этих данных ни к чему не приведет:
```javascript
const name = 'Tirion';
console.log(name.length); // => 6
name.length = 100;
console.log(name.length); // => 6
```
https://replit.com/@hexlet/js-properties-immutability
Вместо изменения значения можно *заменить* значение. Для этого понадобятся переменные:
```javascript
let name = 'Tirion';
name = name.toUpperCase();
console.log(name); // => TIRION
```
instructions: |
Данные, вводимые пользователями, часто содержат лишние пробельные символы в конце или начале строки. Обычно их вырезают с помощью метода `.trim()`, например, было: `' hello\n '`, стало: `'hello'`.
Обновите переменную `firstName` записав в неё то же самое значение, но обработанное методом `.trim()`. Распечатайте то, что получилось, на экран.
tips:
- |
[Метод строки trim()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)