파싱문제, 소숫점과 메서드 콜을 구분하기 위해 공백이 필요
JS를 지원하지 않던 브라우저가 많던 시기의 흔적이다
근데 노드에서도 된다 레전드
map의 인자가 (elem, index, array) => logic 인데 포인트 프리로 넣을 경우
parseInt(elem: numberString, index: radix)로 들어가서 1을 1진법으로 2를 2진법으로 파싱을 시도함
당연히 얄짤없는데 0진법 0 파싱된게 레전드
이 븅신같은 언어는 인티져 플로트 구분이 없다 (num | 0 이런 식으로 엔진에 인티저 강제 가능)
어느정도 수가 커지면 사이에 구멍이 생김
Math.PI.toString()으로 원주율의 스트링을 구하고
~로 비트플립을 하는데 캐스팅이 일어나서 ~3(-4)이 된다 (땔스의 좆같은 캐스팅은 전부 valueOf와 toString의 동작의 조합인데 이건 인티져 변환까지 있어서 더 좆같다)
다시 뒤집어서 3
Math.max(1)면 -Inf 랑 1이랑 비교해서 1이 나오는 원리
왜 안터지게 해놨는지는 의문 역시나 레전드
진짜 이런 언어를 어케 써먹냐
ㄹㅇ
이렇게 보니 말은 되네