questo snip sarà eseguito senza alcun lamentano su entrambi nodejs e il browser:è javascript "return" veramente una * parola chiave *?
this.return = function (x) {
return x
};
console.log (this.return(1));
mi aspettavo che a fallire duro con un errore di sintassi.
Intendevo, posso capire perché this['return']
funziona .. ma ho sempre pensato che return
fosse una parola chiave lexer?
javascript è un linguaggio sensibile al contesto?
aggiunto: il punto è che il lexer non ha un token T_RETURN, ma utilizza invece un T_STRING. non lo è?
È possibile sovrascrivere troppo indefinito. Non significa che sia una buona idea! Modifica: tecnicamente non stai sovrascrivendo il rendimento. –
Non so nulla degli interpreti, ma per me è solo "logico" che dopo un tale '.', tutto ciò che può essere analizzato come un identificatore è valido. –
È una parola chiave riservata, ma può essere utilizzata come proprietà senza che si verifichi un errore, è solo una pessima idea farlo. – adeneo