- 1
- 2
- 3
function toInt(number) {
return number && + number | 0 || 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+161
function toInt(number) {
return number && + number | 0 || 0;
}
http://ideone.com/igo7ag
Минут 10 назад меня ошарашили фразой о методе toInt(), который, якобы, есть в javascript. Гугл выдал всего одну ссылочку, в которой говорится о нем: http://javascript.ru/forum/misc/22100-funkciya-toint-razyasnite-pozhalujjsta-neskolko-momentov.html. Увидев данный код, я просто не мог не выложить его сюда.
Но код ядрён. Насколько я могу судить, он работоспособен )
Есть конечно, и даже работает ;) Но меня спрашивали именно про toInt().
Кстати этот toInt() возвращает 0 при ошибках, а parseInt() - NaN, видимо ради этого его и пытались запилить.
P.S. По ссылке это говнище упростили до красивого number | 0, которое тоже работает.
Господа rat4, Роман Кашицин (простите, если опечатался), как дела с ГК2.0 и его JSON-API, как поживаете, какие планы?
Уже полтора месяца занят развёртыванием и допиливанием другого проекта + хардкор на работе, времени очень мало :(
Исправление косяков требует серьёзного переписывания фронтэнда, в локалке у меня лежит куча набросков, но они пока ещё не завелись. В проекте я всё ещё заинтересован, активная разработка, надеюсь, продолжится в ближайшее время.
ещё бы двенадцать рублей для круглого счёта.
Надеемся, и @рат4 отзовётся
блин, сначала подумал, что жабаскрипт научился частичному применению, но потом дошло, что это просто унарный плюс
Function.prototype.bind
А вот нестрогая типизация - нехорошая.
Тем не менее, недавно встретился пример (аналогичный код на разных языках), в котором статика отсосала у динамики: некие вычисления в Erlang'е спокойно продолжались, когда числа постепенно увеличились, и стали BigNum (или как они там зовутся). А в языке со статикой и с выводом типов изначально значения были выведены как int, и в ходе вычислений происходил фэйл (overflow).
Статически типизированный язык со строгой типизацией. Ничего не переполнилось. Что я делаю не так?
> Ничего не переполнилось.
Как это не переполнилось? Хочешь сказать, что поле под выхлоп на ideone тоже не переполнилось?
UPD: Хаскель вменяет выражению тайпкласса Num тип Integer, если программистом не сказано что-то иное.
bormand только что #
Когнитивный диссонанс...
Спасибо страйко за цитирование с тегами, а то бы пришлось долбанный BB руками набирать...
http://es5.javascript.ru/x9.html#x9.4