자바스크립트는 내가 배운 첫번째 프로그래밍 언어다. 다른 것들은 맛 정도 보고 있고, 타입스크립트도 타입 정의하고 타입가드를 활용하는 정도니 다룰 수 있는 유일한 언어라고 할 수 있다.
하지만 자바스크립트에 관한 나의 지식은 파편화 되어있다. 여기서 조금, 저기서 조금, 약간 아쉬울 때 검색해본 것들이 합쳐진 상태다.
잘 읽고, 생각지 못했던 것들을 기록 해 봐야겠다.
공부 소스
https://javascript.info/
automatic semicolon insertion 덕분에 깜빡해도 채워주는거지 안써도 되는게 아니다. 더군다나 해당 기능도 완벽하진 않아서 때때로 오류가 난다. 이 경우 찾아내기 매우 어렵다. 나도 마침 며칠 전 해당 오류를 맞닥드린 적이 있었고 꽤 답답했었다.
이 연산자들은 operand를 Boolean type으로 바꾸고 판단한다. &&는 처음 falsy하게 판명된 operand의 원형을 리턴하고, 모두 truthy하다면 마지막 요소의 원형을 리턴한다 ||는 그 반대고.
이것을 때로는
(truthy) && statement to execute
같은 방식으로 if 조건문 대신 사용하는 경우가 있다. 코드 가독성을 위해 지양해야 한다고 한다. 하지만 하나의 관습이 되어가는 듯도 하고...
생각해보면 나도 if(somehting === undefined) 같은 조건문을 참 많이 썼다. 의도를 명확히 보여주는 연산자인 만큼 필요하면 적극적으로 사용해주자. 둘다 nullish하면 마지막 인자의 원형을 리턴하니까 마지막 인자에는 꼭 기본값을 주자.
설령 다시는 재사용 될 일이 없다고 하더라도, 추후 코드 가독성을 위해서라도 분리하는 것이 좋다. 한 개의 함수가 한가지 일만 해야 한다는 말은 많이 봤는데, 재사용 될 일 없다면서 막 붙여 쓴 적이 많다. 그렇게 재사용 될 일 없는 함수들은 지역변수에 담고 fold해둔 뒤 'self-describing'이라고 주석을 달아 주는것도 좋겠다.