Tra le caratteristiche un po'
speciali di JavaScript si può prendere in considerazione la varietà di scelta dei nomi di variabili, caratteristica che deriva dall'uso dei caratteri Unicode; un fatto che viene segnalato da
Mathias Bynens in un recente
post tra i non pochi che il suo sito dedica, in modo più o meno diretto, proprio a
JavaScript.
L'uso di caratteri esotici e non presenti sulla tastiera può sembrare un argomento irrilevante, ma può essere utile tornare sui motivi che rendono possibili questi eccessi; la regola generale, che si può ricavare dalle
specifiche ECMAScript e relative annotazioni, vieta di usare come nomi di variabili le cosiddette
reserved word presenti e future: niente
break,
case,
catch, e così via, ma escluse anche quelle messe da parte in previsione di usi futuri, come
class,
const,
enum,
extends,
import, o
super.
Ci sono poi
keyword che non sono propriamente riservate, ma si comportano come se lo fossero, almeno in alcuni casi; si tratta di
NaN,
Infinity, e
undefined, che essendo proprietà del cosìddetto oggetto globale, risultano immutabili o di sola lettura. Per questo, in certi contesti, variabili con questi nomi possono comportarsi in modo apparentemente inspiegabile.
Dopo un cenno all'uso di sequenze di escape Unicode, ed una lista di esempi più o meno insoliti e utili contenenti nomi consentiti anche se magari un po' troppo
originali, il
post si conclude presentando uno strumento pratico, ovvero un
validatore per nomi di variabili JavaScript. Magari non sarà proprio indispensabile, così come non lo sono istruzioni del tipo
var π = Math.PI;, ma aggiungerlo ai preferiti potrebbe sempre tornare utile.