Aug 19

В JavaScript стандартния OR оператор ( || ) е малко по мощен от този в доста други езици, защото връща това първия елемент който не е false, null, undefined и т.н. Аз когато се използва по този начин го наричам default оператор ( и не само аз де )

Малко повече информация по този въпрос може да се види тук.

Номера който искам да покаже, е доста прост всъщност. А именно, че с default оператора може да се изпозлваа заедно с анонимна фунция. Примерно искаме в променливата element да имаме елемент, който ако не съществува трябва да бъде генериран. Като кода за неговото генериране е много тежък и голям като обем, но и ще трябва да се изпълни само един път. За това можем дам напишем кода така:

// при не съществуването на елемент със id element, се вика анонимната фунция
// но ако има такъв елемент до функцията въобще не се стига
element = $('element') || (function(){
     var element = new Element('div', {id: 'element'});
     // ... код ... код ... код
     return element;
})();

2 коментара за "Бърз Javascript номер: номер с default оператора"

  1. abozhilov каза:

    Здрасти. Интересен блог.
    Тук си пропуснал нещо много важно. При изчислението на израза върху всеки един от операндите се прилага следния алгоритъм:

    ToBoolean(GetValue(Identifier Reference));

    ToBoolean връща false не само в описаните от теб ситуации:

    +0 => false
    -0 => false
    NaN => false
    ” => false

  2. Radoslav Stankov каза:

    Моя грешка, че не съм го отбелязал :) за в бъдеще ще внимавам повече.

Какво мислите по въпроса