JavaScript Essentials

Урок 02 · 12 хв

Рядки й числа

Зібрати текст із даних і не отримати NaN на виході.

Майже будь-який інтерфейс — це текст, зібраний із даних: «чай: 3 шт. — 450 ₽». Складати його плюсами незручно, і легко помилитися в пробілах. Для цього є шаблонні рядки.

Шаблонний рядок

Зворотні лапки, усередині ${ } — будь-який вираз: змінна, арифметика, виклик функції. Переноси рядків усередині шаблону зберігаються як є, \n писати не треба.

AI

Можна спитати про це правило«Збирай шаблоном»

AI

Можна спитати про цей пункт«Суть уроку»

Методи рядків

Що потрібно найчастіше

Рядок незмінний. Жоден метод не править вихідний — усі повертають новий. Отже, результат треба забрати: присвоїти змінній або одразу використати. Повний список методів — у MDN · String.

Результат треба забрати
AI

Можна спитати про цей пункт«Методи рядків»

Числа й зведення типів

З рядка в число

Number() вимагає, щоб числом був увесь рядок. parseInt відкушує число з початку й викидає хвіст: для «42px» із CSS зручно, для поля введення небезпечно — «12 котів» перетвориться на 12. Другий аргумент 10 — система числення, пиши її завжди.

AI

Можна спитати про це правило«NaN не дорівнює нічому, навіть собі»

Перевірка й округлення

toFixed повертає рядок: для виведення на екран це те, що треба, для подальшої арифметики — ні. І пам'ятай про двійковий дріб: 0.1 + 0.2 дорівнює 0.30000000000000004. Гроші рахуй у копійках цілими числами й діли на 100 лише під час виведення.

AI

Можна спитати про цей пункт«Числа й зведення типів»

Перевірка

Закріпи, поки не пішов далі

  1. 1. Чому дорівнює Number("")?

  2. 2. Як надійно перевірити, що у value опинився NaN?

  3. 3. Який тип у результату (19.999).toFixed(2)?

  4. 4. Що поверне parseInt("42px", 10)?