Чому явні крапки з комою важливі в JavaScript

Я проходжу навчання "Ефективний 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

Я навчився бути обережним, використовуючи автоматичну вставку товстої кишки.

Подальше читання -

  1. Правила автоматичної вставки крапки з комою
  2. Пост у блозі Бредлі Брейтуейта, натхненний тією ж лекцією

Ви дізналися щось нове? Є коментарі? Знаєте DevJoke? Напишіть мені @ shrutikapoor08

"Я завжди кажу жінкам: коли ви піднімаєтеся на вершину, сідайте назад у ліфт і виводьте з собою жінку" - Юніс Кеннеді Шрайвер. Слова мудрості. #fempire #womenintech #womenleaders

- Шруті Капур (@ shrutikapoor08) 17 січня 2019 р