torstaina, elokuuta 04, 2011

"use strict"

JavaScriptin ensimmäiseksi ohjelmariviksi kannattaa nykyisin kirjoittaa:

"use strict";

Vanhat selaimet eivät noteeraa koko asiaa mutta uudet ECMAScript 5 -selaimet siirtyvät strict-moodiin. Hyöty tulee debuggauksessa. Saat enemmän virheilmoituksia.

Esim. unohtunut 'var' tekee funktion sisäisestä muuttujasta globaalin usein vahingossa. Debuggerit eivät ole asiasta huomauttaneet koska globaalin muuttujan määrittely ilman 'var'-voimasanaa on ollut sallittua. ECMAScript 5:n strict-tilassa se ei ole enää sallittua.

Virheilmoituksia tulee myös esim. 'with'-määrityksestä ja muutamista muista asioista jotka ovat näihin saakka olleet sallittuja mutta Douglas Crockfordin huonojen ohjelmointitapojen listalla.

"use strict"; voidaan sijoittaa myös funktion sisälle jolloin vain kyseinen funktio ajetaan 'strict'-moodissa.

Rivin voi poistaa debuggauksen jälkeen, tai jättää. Onko sillä väliä jos virhekonsoli pysyy tyhjänä.

4 Comments:

At 06:06, Anonymous Anonyymi said...

Eikös virhekonsoli ole niitä varten jotka eivät osaa koodata?

Frank

 
At 18:23, Blogger Sami said...

Oletko muuten tutustunut Nodeen? http://nodejs.org
Aika kätevä systeemi jolla voi ajaa JavaScriptiä konsolissa! Weppiservunkin saa kyhättyä muutamalla rivillä koodia!

 
At 09:50, Anonymous Jaakko Rajaniemi said...

Moi,

Hieman postauksen vierestä, mutta olisi mukava saada Google Maps asiantuntija tänne paikalle. Tilaisuudessa katsotaan, miten avointa paikkatietoa ja karttoja voi käyttää. Kyllä, on muitakin vaihtoehtoja kuin Google Maps :)


http://www.apps4finland.fi/fi/ajankohtaista/workshop-on-open-location-data/


Tilaisuus on jo tiistaina 20.9, mutta mukaan ehtii vielä!

 
At 23:33, Blogger Esa said...

Kommentit eivät näköjään käännykkään sina sähköpostiksi, siksi huomaan nämä vasta nyt 14.10.2011.

Anonyymi: virhekonsoli on ihan kaikille, hyville ja huonoille. Strict houkuttelee sinne vielä enemmän informaatiota.

Sami: Kyllä. Node.js on jotain jota kukaan webbikoodaaja ei voi sivuuttaa.

Jaakko: Olen pahoillani mutta viesti ei saavuttanut minua ajoissa. Kävin läpi muidenkin blogieni kommenttaja ja huomasin saman ilmiön, Bloggerin email-vastaukseen ei voi luottaa.

 

Lähetä kommentti

<< Home