Very short trick: valori undefined in Javascript

Esiste una forma abbreviata per assegnare “al volo” una valore ad una variabile se un’altra non è definita (undefined), usando l’operatore di OR logico (||) – doppio pipe:

1
2
3
4
5
// pluto risulta undefined
var pluto;
var pippo = pluto || '5';
alert( pippo );
// risultato: 5

Questa tecnica è utile nella scrittura di funzioni con parametri:

1
2
3
4
function miaFunc( param ) {
    var p1 = param || 'parametro';
    // ...
}

Tuttavia bisogna stare attenti ad utilizzare questa forma in quanto valori come zero 0 o false vengono mal interpretati, proprio per “colpa” dell’operazione di OR logico utilizzato:

1
2
3
4
5
6
7
8
9
10
11
12
var pluto = 0;
var pippo = pluto || '5';
alert( pippo );
// risultato: 5
var pluto = false;
var pippo = pluto || '5';
alert( pippo );
// risultato: 5
var pluto = 1;
var pippo = pluto || '5';
alert( pippo );
// risultato: 1

Non ci sono commenti per questo Post

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
					<code></code> // blocco generico
					[cc_actionscript][/cc_actionscript] // Actionscript
					[cc_actionscript3][/cc_actionscript3] // Actionscript 3
					[cc_css][/cc_css] // CSS Style Sheet
					[cc_html][/cc_html] // HTML
					[cc_js][/cc_js] // Javascript
					[cc_objc][/cc_objc] // Objective-C
					[cc_php][/cc_objc] // PHP
					[cc_sql][/cc_sql] // SQL


Stop SOPA