function startsWith(stringa, pattern) {
return stringa.indexOf(pattern) === 0;
}
Capisco che la stessa cosa poteva essere scritta come
function startsWith(stringa, pattern) {
return stringa.indexOf(pattern)==0 ? true : false;
}
vorrei però capire il significato della notazione ===.
Grazie anticipatamente per le risposte.
> ultimamente mi capita spesso di vedere la notazione ===, ad esempio come
> nella funzione seguente:
>
> function startsWith(stringa, pattern) {
> return stringa.indexOf(pattern) === 0;
> }
>
> Capisco che la stessa cosa poteva essere scritta come
>
> function startsWith(stringa, pattern) {
> return stringa.indexOf(pattern)==0 ? true : false;
> }
>
> vorrei però capire il significato della notazione ===.
è spiegato molto bene nella documentazione:
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/
Comparison_Operators
In effetti la guida lo spiega molto bene. Grazie
La stessa funzione può essere scritta più semplicemente così:
String.prototype.startsWith = function (pattern) {
return 0 === this.indexOf(pattern);
}
In questo modo non appendi la funzione startsWith all'oggetto window,
creando di fatto un global, cosa considerata "cattiva abitudine", ma
estendi direttamente le funzionalità dell'oggetto String. Così puoi
fare cose come:
"cerbifatica la pelota?".startsWith("cerb"); // ritorna true
"cerbifatica la pelota?".startsWith("corb"); // ritorna false