JavaScript хаки

ПублікаціїКонвертувати

Зауважте що деякі хаки можуть працювати не коректно з деякими значеннями або у деяких браузерах.

  1. обмін значень між двома зміними

    Обмін значень між двома зміними за допомогою деструктуризаційного виразу.

    var a='"A"', b='"B"'; [a,b]=[b,a]; alert('a= '+a+', b= '+b);
  2. && замість if

    Оператор && можна використовувати замість if.

    var x=true; x && alert('x==true'); //if(x) alert('x==true')
  3. Використання оператора !! для конвертації значення у логічний тип

    Якщо необхідно конвертувати значення у логічний тип даних Bolean можна скористатися оператором !!

    var s = 'text'; var b = !!s; alert(b);
  4. Конвертація в число за допомогою +

    Якщо необхілно конвертувати значення у число можна використати оператор +

    var s='16'; var n=+s; alert(n); alert(typeof n);

    Оператор + має один недоліки перед методом parseInt() так як рядок "12 text" оператор + поверне NaN.

    var s="12 text"; var p=+s; var n=parseInt(s); alert('оператор +: '+p+' метод parseInt: '+n);
  5. || як значення по замовчуванню

    Використання оператопа || для значення по замовчуванню для аргумента функції.

    function test(a){ a=a || 2; alert(a); } test(); test('test');

    Слід зауважити в такому випадку не можливо передати значення 0:

    function test(a){ a=a || 2; alert(a); } test(0);
  6. void 0 замість undefined

    Використання void 0 для отримання значення undefined. Так як undefined можна змінити у ES5 (ECMAScript 5) оголосивши зміну з назвою undefined, тоді доцільно використовувати void 0.

    alert(void 0 == undefined); //true //тільки для ES5 var undefined='test'; var a; if(a==undefined) alert('зміна a не містить значення'); else alert('зміна a містить значення: '+a);
  7. Використання ~~ для отримання цілої частини від числа, як метод Math.trunc()

    var x=2.5; var y = ~~x; alert(y); //2

Адмін 2018-01-01 15:50:00

Тільки зареєстровані користувачі можуть писати коментарі.