Я проходжу навчання "Ефективний JavaScript" у @PayPalEng Дугласа Крокфорда і не можу висловити, який просвітницький досвід це було! Сьогодні я зрозумів, чому використання явних крапок з комою так важливо у JS. Незабаром поділюсь своїми думками. # javascript # веб-розробка # PayPal
- Шруті Капур (@ shrutikapoor08) 28 листопада 2018 рокуПомилки, де автоматичне вставлення крапки з комою може призвести до помилок
Кілька місяців тому я пройшов ефективне навчання з JavaScript Дугласа Крокфорда. Одне, що мене з того часу застрягло, - це важливість використання явних крапок з комою в JavaScript. Якийсь час я ліниво уникав написання ;
і припускав, що парсер зробить за мене свою роботу правильно. У цій публікації я хочу навести кілька прикладів, які змінили моє мислення.

Приклад 1
Яким ви очікуєте результат цього?
const test = () => { return { ok : true } } console.log(test())
Ви очікували б, що результатом цього буде a object
із властивістю, ok
встановленою на true
. Але натомість результат є undefined
. Це тому, що оскільки фігурні дужки починаються з нового рядка, автоматичне заповнення крапкою з комою змінює наведений вище код на такий:
const test = () => { return; { ok : true } }
Виправлення : Використовуйте фігурні дужки праворуч від повернення та явні крапки з комою:
const test = () => { return { ok : true } };
Приклад 2
const a = 1 const b = 2 (a+b).toString()
Що, на вашу думку, відбувається у наведеному вище коді? Ми отримуємо помилку. Uncaught ReferenceError: b is not defined.
Це пов’язано з тим, що дужки в третьому рядку інтерпретуються як аргумент функції. Цей код перетворюється на такий:
const a = 1; const b = 2(a+b).toString();
У тому випадку, коли оператор присвоєння повинен починатися з лівої дужки, програмісту рекомендується надати явну крапку з комою в кінці попереднього твердження, а не покладатися на автоматичну вставку крапки з комою.- ECMA-International.org
Я навчився бути обережним, використовуючи автоматичну вставку товстої кишки.
Подальше читання -
- Правила автоматичної вставки крапки з комою
- Пост у блозі Бредлі Брейтуейта, натхненний тією ж лекцією
Ви дізналися щось нове? Є коментарі? Знаєте DevJoke? Напишіть мені @ shrutikapoor08
"Я завжди кажу жінкам: коли ви піднімаєтеся на вершину, сідайте назад у ліфт і виводьте з собою жінку" - Юніс Кеннеді Шрайвер. Слова мудрості. #fempire #womenintech #womenleaders
- Шруті Капур (@ shrutikapoor08) 17 січня 2019 р