Miért fontosak az explicit pontosvesszők a JavaScript-ben?

Douglas Crockford "Efektív JavaScript" képzésén veszek részt a @PayPalEng oldalon, és nem tudom kifejezni, milyen felvilágosító élmény volt! Ma rájöttem, miért olyan fontos az explicit pontosvesszők használata JS-ben. Hamarosan megosztom a meglátásaimat. #javascript #webdevelopment #PayPal

- Shruti Kapoor (@ shrutikapoor08) 2018. november 28

Gotchák, ahol az automatikus pontosvessző beillesztés hibákhoz vezethet

Néhány hónappal ezelőtt Douglas Crockfordtól vettem le a hatékony JavaScript-oktatást. Az egyik dolog, ami azóta rám ragadt, az explicit pontosvesszők fontossága a JavaScript-ben. Egy ideje lustán kerülöm az írást, ;és feltételezem, hogy az elemző helyesen fogja elvégezni a dolgomat helyettem. Ebben a bejegyzésben néhány példát szeretnék bemutatni, amelyek megváltoztatták a gondolkodásmódomat.

1. példa

Mit vársz ennek a kimenetelétől?

const test = () => { return { ok : true } } console.log(test())

Arra számíthat, hogy ennek a kimenete objecta tulajdonságra van okállítva true. De ehelyett a kimenet az undefined. Ez azért van így, mert mivel a göndör zárójel új vonalon indul, az automatikus pontosvessző-kiegészítés a fenti kódot erre változtatja:

const test = () => { return; { ok : true } }

Javítás : Használjon göndör zárójelet a visszatérés jobb oldalán és explicit pontosvesszőket:

const test = () => { return { ok : true } };

2. példa

const a = 1 const b = 2 (a+b).toString()

Szerinted mi történik a fenti kódban? Hibát kapunk Uncaught ReferenceError: b is not defined. , mert a harmadik sor zárójelét függvény-argumentumként értelmezzük. Ezt a kódot alakítják át erre:

const a = 1; const b = 2(a+b).toString();
Ha egy hozzárendelési utasításnak bal zárójelben kell kezdődnie, akkor a programozó számára célszerű az előző utasítás végén kifejezett pontosvesszőt megadni, nem pedig az automatikus pontosvessző-beszúrásra hagyatkozni.

- ECMA-International.org

Megtanultam vigyázni az automatikus pontosvessző-beiktatás használatakor.

További irodalom -

  1. Automatikus pontosvessző beillesztési szabályok
  2. Bradley Braithwaite blogbejegyzése ugyanazon előadás ihlette

Tanultál valami újat? Megjegyzéseid vannak? Ismer egy DevJoke-ot? Csipogj nekem @ shrutikapoor08

"Mindig azt mondom a nőknek: ha feljutsz a csúcsra, szállj vissza a liftbe, és hozz magaddal egy nőt" - Eunice Kennedy Shriver. Bölcs szavak. #fempire #womenintech #womenleaders

- Shruti Kapoor (@ shrutikapoor08) 2019. január 17