Visualizzazione dei risultati da 1 a 6 su 6

Discussione: OR logico: valutazione

  1. #1
    Utente di HTML.it L'avatar di filips
    Registrato dal
    Sep 2011
    residenza
    Seconda stella a destra (questo e' il cammino)
    Messaggi
    155

    OR logico: valutazione

    Scusate, l'OR logico JS fa valutazione di cortocircuito?
    Per fare un tavolo ci vuole un fiore.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    La risposta è sì.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it L'avatar di filips
    Registrato dal
    Sep 2011
    residenza
    Seconda stella a destra (questo e' il cammino)
    Messaggi
    155
    aabc
    Ultima modifica di filips; 29-12-2015 a 19:34
    Per fare un tavolo ci vuole un fiore.

  4. #4
    Utente di HTML.it L'avatar di filips
    Registrato dal
    Sep 2011
    residenza
    Seconda stella a destra (questo e' il cammino)
    Messaggi
    155
    Ti ringrazio per la conferma. Lo avevo dedotto considerando questa sintassi alla fine del cap. 35 della guida JS:

    codice:
     char = char || " ";

    Avevo fatto presente allo staff che nei capitoli precedenti non era presente una giustificazione di questo uso per l'assegnazione a una variabile, per cui ci si sarebbe potuti trovare spiazzati davanti a questa sintassi messa lì all'improvviso.
    Ultima modifica di filips; 29-12-2015 a 19:29
    Per fare un tavolo ci vuole un fiore.

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Capisco.

    Per meglio chiarire:
    in quel caso, come penso tu abbia constatato, non si tratta di una normale assegnazione ad una variabile ma piuttosto è una tecnica usata per assegnare un valore di default a tale variabile qualora questa (in linea di massima) risulti undefined. Per cui, nella valutazione dell'espressione, se il primo operatore restituisce un valore equivalente a false (undefined lo è), allora viene valutato il successivo operatore che, in questo caso, restituisce una stringa non vuota (ed equivale quindi a true), per cui sarà preso in considerazione..

    Infatti, dando uno sguardo alla guida in questione, quello script sta dentro una funzione e la variabile è definita come argomento della funzione stessa:
    String.prototype.padLeft = function(width, char) {
    var result = this;


    if (this.length < width) {
    result = new Array(width - this.length + 1).join(char) + this;
    }
    return result;
    };
    Da tenere presente che in JavaScript, sulla chiamata di una funzione, non è obbligatorio passarne tutti i valori per gli argomenti specificati, per tale motivo è possibile avere (da destra a sinistra) degli argomenti con valore undefined. In questo caso viene quindi usata quella tecnica (con l'operatore ||) per assegnare un valore di default (nel caso specifico, uno spazio " ").

    Un'alternativa può essere la specificazione di un valore di default direttamente sulla definizione degli argomenti della funzione.
    codice:
    String.prototype.padLeft = function(width, char = " ") {
    Questo metodo (utilizzato anche in diversi altri linguaggi) evita l'uso di ulteriori tecniche, come quella in questione.
    Tuttavia questa sintassi è valida secondo le attuali specifiche ECMAScript 6, per cui è possibile che non sia supportata da alcuni browser (specialmente se non troppo recenti), e in tal caso genererebbe degli errori nell'esecuzione dello script. Per questo, in genere, è comunque preferibile utilizzare tecniche come quella in oggetto.

    In conclusione, è possibile che nella guida in questione non sia stato approfondito tale argomento perché magari non è importante rispetto a ciò che la guida stessa propone. Chiaramente è giusto una mia ipotesi. Ripeto, non ho letto quella guida. Il tuo disappunto potrebbe comunque essere accettabile.
    Ultima modifica di KillerWorm; 29-12-2015 a 20:48
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it L'avatar di filips
    Registrato dal
    Sep 2011
    residenza
    Seconda stella a destra (questo e' il cammino)
    Messaggi
    155
    Preciso che la guida è ottima (come altre di HTML. it), solo che in questa circostanza mi sono dovuto un po' scervellare per capire, e comunque solo grazie al contesto dell'esempio, senza il quale sarebbe stato impossibile. Inoltre si deve sempre chiedere conferma per essere certi di aver interpretato bene.

    Un cenno tipo la tua annotazione (magari messo al cap. 8) sarebbe stato perfetto. Grazie ancora.

    (Piccola nota a margine: certo che con JS, in quanto a prolissità, si viaggia ai minimi storici, in quanto a flessibilità ai massimi.)
    Per fare un tavolo ci vuole un fiore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.