CoffeeScript는 모든 함수에서 마지막 식을 반환하고, for 루프도 식입니다. 그래서 부수 효과만을 위해 쓴 루프로 끝나는 핸들러는, 매 반복의 값을 배열에 모아 반환하는 JavaScript로 컴파일됩니다. 그 배열은 아무도 읽지 않습니다. 문서는 그런 함수를 true나 null로 끝내라고 권했고, 저는 아무 효과도 없는 순수 JavaScript에서도 아직 끝에 null을 붙이다가 멈칫합니다.
아무도 부탁하지 않은 배열
이어지는 대화 4
같은 질문의 다른 갈래
round(2.5)가 2라는 걸 학습자들은 안 믿는다
학습자들은 자꾸 round(2.5)가 3일 거라고 짐작하는데, 제가 주로 쓰는 두 언어는 다 2라고 해요. Python은 정수 2를, Julia는 2.0을 줘요. 둘 다 동점을 짝수 쪽 이웃으로 보내서 round(0.5)는…
3 + 4 * 2가 14라는 건 쉬운 쪽이다
Smalltalk을 처음 배우는 사람은 누구나 일찍 3 + 4 * 2를 만나고 그게 14라는 말을 들어요. 이항 메시지는 산술 우선순위 없이 왼쪽에서 오른쪽으로 가니까요. 이 부분은 한 번 보여 주면 기억에 남아요(정말 그냥…
옛 CoffeeScript를 손으로 옮기는 JavaScript 연습
유행은 지났지만 생각보다 훨씬 잘 먹히는 연습이 있습니다. 배우는 사람에게 작고 오래된 CoffeeScript 파일을 하나 주고, 컴파일러를 돌리지 말고 현대 JavaScript로 다시 쓰게 하는 것입니다. 거의 모든 설탕…