오늘 한 일
Move Zeroes 파이썬 문제풀이
어제 풀었던 Move Zeroes 문제에 파이썬 풀이도 추가했다. 파이썬으로 풀어보면서 리스트가 자바스크립트의 배열과 어떻게 다른지도 알아볼 수 있었다. 그리고 좀 신기했던 게 다른 사람 풀이를 보면서 또 찾아봤는데, 자바스크립트에서 분해대입이 아닌 이상은 변수를 콤마로 구분해 같이 선언하고 할당하는 게 안되는데, 파이썬에서는 가능하다.1
2
3const a = 1, b = 2; // 이것은 가능하지만
const a, b = 1, 2; // 이것은 불가능하다.
// SyntaxError: Missing initializer in const declaration
1 | a = 1, b = 2 |
좀 헷갈리기는 하는데, 다른 언어를 배우면서 비교해보는 것도 재미있다. 파이썬에서 내 기준 묘한 사용법을 보게되면, ‘어 이거 자바스크립트는 안되지 않나?’하면서 테스트해보고 비교해보니까 같이 공부가 된다.
You don’t know JS: 타입 정리
카일 심슨의 You don’t know JS를 보면서 내용을 정리하고 이전에 배웠던 내용을 정리하고 있다.
책을 읽으면서 정리하려고 했는데 번역이 조금 아쉬웠다. 예를 들면 ‘null
은 falsy
한 유일한 원시 값이지만, 타입은 object
인 특별한 존재다.’라는 문장이 있었다. undefined
도 0
도 빈문자열도 다 falsy
인 원시값인데 왜 저렇게 썼지 의문이 들어서 github에 올려져 있는 원문을 찾았다.
null is the only primitive value that is “falsy” (aka false-like; see Chapter 4) but that also returns “object” from the typeof check.
라고 되어있는데 이문장을 ‘null
은 falsy
이면서, typeof
체크에서 object
를 반환하는 유일한 원시값이다.’라고 번역했어야 되지 않을까 싶다.(이문장도 매끄러운 번역인지는 잘 모르겠다. 부끄럽게도 영어를 잘 못한다…)
그래서 원문이랑 책을 번갈아 보기로 했다.
자바스크립트에 대한 이해가 없었을 때는 좀 어렵게 느껴진 책이었는데, 지금은 놓치고 있는 자바스크립트의 특성을 하나씩 짚어내면서 더 깊이 다지는 느낌으로 읽을 수 있게 되었다.