Skip to main content

JavaScript tips

Shorthand​

Boolean(0)!!0
String(3.14)3.14 + ""
Number("3.14")+ "3.14"
Math.floor(3.14)~~3.14 or
3.14 << 0
undefinedvoid 0
100001e4

flatMap​

result = []
for (v of array)
if (v !== 0)
array.push(1/v)
  • array.map(v => v !== 0 && 1/v).filter(v => v)
  • array.flatMap(v => v === 0? []: 1/v)

Math​

const {sin, asin} = Math
[0, 1, 2].map(sin).map(asin)

template literal​

function upper(args) {
return args[0].toUpperCase()
}
const text = upper`hi` // HI

functional object​

const hello = () => 'HELLO'
hello.world = () => 'WORLD'
hello() // HELLO
hello.world() // WORLD

assignment​

let t = -1,
dt = 100 - (~t? t: (t = 0))
console.log(t) // 0