Комментарии 21
если писать о новшествах, то лучше не использовать var в примерах)
+2
Странно, bigint добавили, а bigfloat — нет.
0
А зачем?
0
Ну если вдруг понадобится не только складывать и вычитать числа, бОльшие чем Number.MAX_SAFE_INTEGER, но и делить/умножать (подразумевая наличие дробной части)
100000000000000000000000000000000000n / 3n
// 33333333333333333333333333333333333n
BigInt(100000000000000000000000000000000000 / 3)
// 33333333333333332287788702639325184n
Сейчас нет способа "не потерять дробную часть" средствами языка, но, вероятно, существуют библиотеки, решающие эту проблему.
-1
Обсуждалось возможность flat назвать smoosh
developers.google.com/web/updates/2018/03/smooshgate
news.ycombinator.com/item?id=16542087
developers.google.com/web/updates/2018/03/smooshgate
news.ycombinator.com/item?id=16542087
-1
Супер! Каждый раз с большим интересом читаю вашу подборку.
У меня вот только вопрос, почему safari нигде нет? Неужели ничего из написанного там сейчас не поддерживается?
У меня вот только вопрос, почему safari нигде нет? Неужели ничего из написанного там сейчас не поддерживается?
0
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за allSettled для промисов. Давно пора было
0
Странный метод .flatMap()
Мне кажется использовать для этих целей .reduce() очевиднее:
Хотя… длиннее получается, да (: Может и правда есть смысл в этом методе (:
UPD. Так, надо ещё попробовать измерить производительность)
UPD2. Забудьте о том, что я писал выше… Это просто жесть какая-то)
UPD3. При этом для небольших списков время почти одинаковое:
Диагноз: использовать, несомненно.
Мне кажется использовать для этих целей .reduce() очевиднее:
[1, 2, 3, 4].reduce((result, current) => result.concat(current, current * current), [])
Хотя… длиннее получается, да (: Может и правда есть смысл в этом методе (:
UPD. Так, надо ещё попробовать измерить производительность)
UPD2. Забудьте о том, что я писал выше… Это просто жесть какая-то)
const arr = Array(100000).fill(0).map((v, i) => i)
console.time('reduce')
arr.reduce((result, current) => result.concat(current, current * current), [])
console.timeEnd('reduce')
console.time('flatMap')
arr.flatMap(current => [current, current * current])
console.timeEnd('flatMap')
// reduce: 115254.64819335938ms
// flatMap: 64.10302734375ms
UPD3. При этом для небольших списков время почти одинаковое:
const arr = Array(10).fill(0).map((v, i) => i)
console.time('reduce')
arr.reduce((result, current) => result.concat(current, current * current), [])
console.timeEnd('reduce')
console.time('flatMap')
arr.flatMap(current => [current, current * current])
console.timeEnd('flatMap')
// reduce: 0.034912109375ms
// flatMap: 0.04296875ms
Диагноз: использовать, несомненно.
0
НЛО прилетело и опубликовало эту надпись здесь
Например — 1000000000 — это один миллиард в десятичной системе счисления. Но с одного взгляда понять это тяжело.
1e9 :)
0
В примерах с интернализацией стоило бы 'ru' использовать для большей очевидности этих самых примеров.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Новшества JavaScript: итоги Google I/O 2019. Часть 2