Visualizzazione dei risultati da 1 a 6 su 6

Discussione: OR logico: valutazione

Visualizzazione discussione

  1. #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

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.