Основное правило, мы не сравниваем непримитивные типы данных. Не сравнивайте массив, функцию или объект.
Основное правило, мы не сравниваем непримитивные типы данных. Не сравнивайте массив, функцию или объект.
Непримитивные значения называются ссылочными типами, поскольку они сравниваются по значению, а не по значению. Два объекта строго равны, если они ссылаются на один и тот же базовый объект.
Непримитивные значения называются ссылочными типами, потому что они сравниваются по ссылке, а не по значению. Два объекта строго равны, если они ссылаются на один и тот же базовый объект.
const randNum = Math.random(); // создает случайное число от 0 до 0,999999
const randNum = Math.random(); // создаёт случайное число от 0 до 0,999999
console.log(randNum);
console.log(randNum);
// Давайте создадим случайное число от 0 до 10
// Давайте создадим случайное число от 0 до 10
const num = Math.floor(Math.random() * 11); // создает случайное число от 0 до 10
const num = Math.floor(Math.random() * 11); // создаёт случайное число от 0 до 10
console.log(num);
console.log(num);
// Абсолютное значение
// Абсолютное значение
@ -256,10 +256,10 @@ let randomNum = Math.random(); // генерирует от 0 до 0,999
let randomNum = Math.random(); // генерирует от 0 до 0,999
let randomNum = Math.random(); // генерирует от 0 до 0,999
let numBtnZeroAndTen = randomNum * 11;
let numBtnZeroAndTen = randomNum * 11;
console.log(numBtnZeroAndTen); // это дает: мин 0 и макс 10.99
console.log(numBtnZeroAndTen); // это даёт: мин 0 и макс 10.99
let randomNumRoundToFloor = Math.floor(numBtnZeroAndTen);
let randomNumRoundToFloor = Math.floor(numBtnZeroAndTen);
console.log(randomNumRoundToFloor); // это дает от 0 до 10
console.log(randomNumRoundToFloor); // это даёт от 0 до 10
```
```
## Строки
## Строки
@ -306,7 +306,7 @@ Asabeneh Yetayeh
#### Конкатенация с использованием оператора сложения
#### Конкатенация с использованием оператора сложения
Конкатенация с использованием оператора сложения - старый способ. Этот способ объединения утомителен и подвержен ошибкам. Полезно знать, как объединить таким способом, но я настоятельно рекомендую использовать второй способ.
Конкатенация с использованием оператора сложения - старый способ. Этот способ объединения утомителен и подвержен ошибкам. Полезно знать, как объединить таким способом, но я настоятельно рекомендую использовать шаблонные строки ES6.
```js
```js
// Объявление разных переменных разных типов данных
// Объявление разных переменных разных типов данных
@ -350,7 +350,7 @@ console.log(paragraph);
#### Перенос последовательности в строке
#### Перенос последовательности в строке
В JavaScript и других языках программирования, после некоторых символов есть перенос - последовательности. Давайте посмотрим на наиболее распространенные escape-символы:
В JavaScript и других языках программирования, после некоторых символов есть перенос - последовательности. Давайте посмотрим на наиболее распространённые escape-символы:
- `\n` - Новая строка
- `\n` - Новая строка
- `\t` - Таб означает (8 пробелов)
- `\t` - Таб означает (8 пробелов)
@ -375,7 +375,7 @@ console.log("The saying 'Seeing is Believing' is't correct in 2020");
#### Шаблонные литералы (Шаблонные строки)
#### Шаблонные литералы (Шаблонные строки)
Чтобы создать строку шаблона, мы используем два обратных ключа. Мы можем вставить данные как выражение внутри строки шаблона. Чтобы ввести данные, мы заключаем выражение в фигурную скобку (`{}`), за которой следует знак `$`. Смотрите синтаксис ниже.
Чтобы создать строку шаблона, мы используем два обратных ключа. Мы можем вставить данные как выражение внутри строки шаблона. Чтобы ввести данные, мы заключаем выражение в фигурную скобку (`{}`), предшествует которой знак `$`. Смотрите синтаксис ниже.
```js
```js
// Синтаксис
// Синтаксис
@ -440,7 +440,7 @@ console.log(`${a} is greater than ${b}: ${a > b}`);
console.log(firstName.length); // 8
console.log(firstName.length); // 8
```
```
2. _Доступ к символам в строке_: мы можем получить доступ к каждому символу в строке, используя его индекс. В программировании отсчет начинается с 0. Первый индекс строки равен нулю, а последний индекс равен одному минус длина строки.
2. _Доступ к символам в строке_: мы можем получить доступ к каждому символу в строке, используя его индекс. В программировании отсчёт начинается с 0. Первый индекс строки равен нулю, а последний индекс равен одному минус длина строки.


@ -541,7 +541,7 @@ console.log(`${a} is greater than ${b}: ${a > b}`);
Давайте извлечем числа из текста, используя регулярное выражение. Это не раздел регулярных выражений, не паникуйте, мы рассмотрим регулярные выражения в другом разделе.
Давайте извлечём числа из текста, используя регулярное выражение. Это не раздел регулярных выражений, не паникуйте, мы рассмотрим регулярные выражения в другом разделе.
```js
```js
let txt =
let txt =
"In 2019, I run 30 Days of Python. Now, in 2020 I super exited to start this challenge";
"In 2019, I run 30 Days of Python. Now, in 2020 I super exited to start this challenge";
let regEx = /\d+/;
let regEx = /\d+/;
// d сперенос-символом означает, что d не является нормальным d, вместо этого действует цифра
// d сescape-символом означает, что d - не просто символ d, а обозначает цифру
// + означает одно или несколько цифр,
// + означает одно или несколько цифр,
// если после этого есть g, значит глобальный, ищите везде.
// если после этого есть g, значит глобальный, ищите везде.
@ -785,7 +785,7 @@ console.log(`${a} is greater than ${b}: ${a > b}`);
### Проверка типов данных
### Проверка типов данных
- Проверка типов данных: чтобы проверить тип данных определенного типа данных, мы используем `typeof` и также меняем один тип данных на другой.
- Проверка типов данных: чтобы проверить тип данных определённого типа данных, мы используем `typeof` и также меняем один тип данных на другой.
**Пример:**
**Пример:**
@ -889,7 +889,7 @@ let numInt = parseInt(num);
console.log(numInt); // 9
console.log(numInt); // 9
```
```
🌕 Ты обалденный. Вы только что завершили 2-й день испытаний, и вы в двух шагах от своего пути к успеху. Теперь сделайте несколько упражнений для вашего мозга и ваших мышц.
🌕 Ты молодец. Ты только что завершил 2-й день испытаний, и ты в двух шагах от своего пути к успеху. Теперь сделай несколько упражнений для мозга и твоих мышц.
## 💻 День 2: Упражнения
## 💻 День 2: Упражнения
@ -905,19 +905,19 @@ console.log(numInt); // 9
8. Проверьте, содержит ли строка слово **Script**, используя метод `includes()`
8. Проверьте, содержит ли строка слово **Script**, используя метод `includes()`
9. Разбейте **строку** на **массив**, используя метод `split()`
9. Разбейте **строку** на **массив**, используя метод `split()`
10. Разбить строку 30 Days Of JavaScript в пространстве с помощью метода `split()`
10. Разбить строку 30 Days Of JavaScript в пространстве с помощью метода `split()`
11. «Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon» **разбивают** строку на запятую и заменяют ее на массив.
11. «Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon» **разбейте** строку где разделитель - запятая и замените её на массив.
12. Измените 30 Days Of JavaScript на 30 Days Of Python, используя метод `replace()`.
12. Измените 30 Days Of JavaScript на 30 Days Of Python, используя метод `replace()`.
13. Что такое символ в индексе 15 в строке «30 Days Of JavaScript», используйте метод `charAt()`.
13. Какой символ в индексе 15 в строке «30 Days Of JavaScript», используйте метод `charAt()`.
14. Что такое код символа J в строке «30 Days Of JavaScript» с использованием `charCodeAt()`
14. Какой код символа J в строке «30 Days Of JavaScript» с использованием `charCodeAt()`
15. Используйте `indexOf`, чтобы определить позицию первого вхождения за 30 Days Of JavaScript
15. Используйте `indexOf`, чтобы определить позицию первого вхождения за 30 Days Of JavaScript
16. Используйте `lastIndexOf`, чтобы определить позицию последнего вхождения в 30 Days Of JavaScript.
16. Используйте `lastIndexOf`, чтобы определить позицию последнего вхождения в 30 Days Of JavaScript.
17. Используйте `indexOf`, чтобы найти позицию первого вхождения слова **потому что** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что, потому что это соединение»**
17. Используйте `indexOf`, чтобы найти позицию первого вхождения слова **потому что** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что, потому что это соединение»**
18. Используйте `lastIndexOf`, чтобы найти позицию последнего вхождения слова **потому что** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что потому что это соединение»**
18. Используйте `lastIndexOf`, чтобы найти позицию последнего вхождения слова **потому что** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что потому что это соединение»**
19. Используйте `search`, чтобы найти позицию первого вхождения слова **потому что** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что потому что это соединение»**
19. Используйте `search`, чтобы найти позицию первого вхождения слова **потому что** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что потому что это соединение»**
20. Используйте `trim()`, чтобы удалить, если в начале и конце строки есть конечные пробелы. Например, «30 Days Of JavaScript».
20. Используйте `trim()`, чтобы удалить все пробелы в начале и конце строки. Например, «30 Days Of JavaScript».
21. Используйте метод `launchWith()` со строкой _30 Days Of JavaScript_, чтобы сделать результат верным
21. Используйте метод `startsWith()` со строкой _30 Days Of JavaScript_, чтобы сделать результат верным
22. Используйте метод `setsWith()` со строкой _30 Days Of JavaScript_, чтобы сделать результат верным
22. Используйте метод `endsWith()` со строкой _30 Days Of JavaScript_, чтобы сделать результат верным
23. Используйте метод `match()`, чтобы найти все за 30 Days Of JavaScript
23. Используйте метод `match()`, чтобы найти все "а" в "30 Days Of JavaScript"
24. Используйте `concat()` и объедините «30 Days» и «JavaScript» в одну строку «30 Days Of JavaScript»
24. Используйте `concat()` и объедините «30 Days» и «JavaScript» в одну строку «30 Days Of JavaScript»
25. Используйте метод `repeat()`, чтобы напечатать 30 Days Of JavaScript 2 раза
25. Используйте метод `repeat()`, чтобы напечатать 30 Days Of JavaScript 2 раза
@ -937,10 +937,10 @@ console.log(numInt); // 9
3. Проверьте, точно ли `typeof` '10' равен 10. Если нет, сделайте его точно равным.
3. Проверьте, точно ли `typeof` '10' равен 10. Если нет, сделайте его точно равным.
4. Убедитесь, что `parseFloat('9.8')` равен 10, если не равен точно 10.
4. Убедитесь, что `parseFloat('9.8')` равен 10, если не равен точно 10.
5. Проверьте, найдено ли 'on' как в Python, так и в жаргоне
5. Проверьте, найдено ли 'он' как в Питон, так и в жаргоне
6. Я надеюсь, что этот курс не полон жаргона. Проверьте, находится ли _jargon_ в предложении.
6. Я надеюсь, что этот курс не полон жаргона. Проверьте, находится ли _жаргон_ в предложении.
7. Сгенерируйте случайное число от 0 до 100 включительно.
7. Сгенерируйте случайное число от 0 до 100 включительно.
8. Генерация случайного числа от 50 до 100 включительно.
8. Сгенерируйте случайное число от 50 до 100 включительно.
9. Сгенерируйте случайное число от 0 до 255 включительно.
9. Сгенерируйте случайное число от 0 до 255 включительно.
10. Получите доступ к символам строки «JavaScript», используя случайное число.
10. Получите доступ к символам строки «JavaScript», используя случайное число.
11. Используйте `console.log()` и управляющие символы для печати следующего шаблона.
11. Используйте `console.log()` и управляющие символы для печати следующего шаблона.
@ -957,8 +957,8 @@ console.log(numInt); // 9
### Упражнения: уровень 3
### Упражнения: уровень 3
1. «Любовь - лучшая вещь в этом мире. Некоторые нашли свою любовь, а некоторые все еще ищут свою любовь. Подсчитайте количество слов любви в этом предложении.
1. «Любовь - лучшая вещь в этом мире. Некоторые нашли свою любовь, а некоторые все ещё ищут свою любовь. Подсчитайте количество слов "любовь" в этом предложении.
2. Используйте `match()`, чтобы сосчитать число все потому, что в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что, потому что это соединение»**
2. Используйте `match()`, чтобы сосчитать число все **"потому что"** в следующем предложении: **«Вы не можете закончить предложение, потому что, потому что, потому что это соединение»**
3. Очистите следующий текст и найдите наиболее часто встречающееся слова (подсказка, используйте замену и регулярный экспресс).
3. Очистите следующий текст и найдите наиболее часто встречающееся слова (подсказка, используйте замену и регулярный экспресс).