Last active
August 26, 2018 13:40
-
-
Save escaroda/8f5eab51c6535a617263a06d0bead98e to your computer and use it in GitHub Desktop.
JS - Bitwise OR cheats https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_OR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
( 3|0 ) === 3; // целые числа не изменяет | |
( 3.3|0 ) === 3; // у дробных чисел отбрасывает дробную часть | |
( 3.8|0 ) === 3; // не округляет, а именно отбрасывает дробную часть | |
( -3.3|0 ) === -3; // в том числе и у отрицательных дробных чисел | |
( -3.8|0 ) === -3; // у которых Math.floor(-3.3) == Math.floor(-3.8) == -4 | |
( "3"|0 ) === 3; // строки с числами преобразуются к целым числам | |
( "3.8"|0 ) === 3; // при этом опять же отбрасывается дробная часть | |
( "-3.8"|0 ) === -3; // в том числе и у отрицательных дробных чисел | |
( NaN|0 ) === 0; // NaN приводится к нулю | |
( Infinity|0 ) === 0; // приведение к нулю происходит и с бесконечностью, | |
( -Infinity|0 ) === 0; // и с минус бесконечностью, | |
( null|0 ) === 0; // и с null, | |
( (void 0)|0 ) === 0; // и с undefined, | |
( []|0 ) === 0; // и с пустым массивом, | |
( [3]|0 ) === 3; // но массив с одним числом приводится к числу, | |
( [-3.8]|0 ) === -3; // в том числе с отбрасыванием дробной части, | |
( [" -3.8 "]|0 ) === -3; // и в том числе с извлечением чисел из строк, | |
( [-3.8, 22]|0 ) === 0 // но массив с несколькими числами вновь зануляется | |
( {}|0 ) === 0; // к нулю также приводится пустой объект | |
( {'2':'3'}|0 ) === 0; // или не пустой | |
( (function(){})|0 ) === 0; // к нулю также приводится пустая функция | |
( (function(){ return 3;})|0 ) === 0; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment