fill-up fundamentals

김상연·2022년 11월 9일

JavaScript

목록 보기
3/19

자바스크립트는 내가 배운 첫번째 프로그래밍 언어다. 다른 것들은 맛 정도 보고 있고, 타입스크립트도 타입 정의하고 타입가드를 활용하는 정도니 다룰 수 있는 유일한 언어라고 할 수 있다.

하지만 자바스크립트에 관한 나의 지식은 파편화 되어있다. 여기서 조금, 저기서 조금, 약간 아쉬울 때 검색해본 것들이 합쳐진 상태다.

잘 읽고, 생각지 못했던 것들을 기록 해 봐야겠다.

공부 소스

https://javascript.info/



1. HTML에서 분리된 스크립트 파일은 브라우저의 캐쉬에 저장되고 재활용된다.

2. 귀찮아도 세미콜론(;)은 직접 써주자.

automatic semicolon insertion 덕분에 깜빡해도 채워주는거지 안써도 되는게 아니다. 더군다나 해당 기능도 완벽하진 않아서 때때로 오류가 난다. 이 경우 찾아내기 매우 어렵다. 나도 마침 며칠 전 해당 오류를 맞닥드린 적이 있었고 꽤 답답했었다.

3. AND 연산자(&&)와 OR 연산자(||)도 연산자라서 리턴 값이 있다. 차례대로 처음 마주치는 Falsy 또는 Truthy한 요소의 원형, 또는 모두 만족한다면 그저 마지막 요소의 원형이다.

이 연산자들은 operand를 Boolean type으로 바꾸고 판단한다. &&는 처음 falsy하게 판명된 operand의 원형을 리턴하고, 모두 truthy하다면 마지막 요소의 원형을 리턴한다 ||는 그 반대고.
이것을 때로는

(truthy) && statement to execute

같은 방식으로 if 조건문 대신 사용하는 경우가 있다. 코드 가독성을 위해 지양해야 한다고 한다. 하지만 하나의 관습이 되어가는 듯도 하고...

4. nullish coalescing operator(??)는 앞의 인자가 null 또는 undefined라면 뒤의 인자를 리턴한다. 기본값을 지정한다는 의도가 내포된 연산자인 것이다.

생각해보면 나도 if(somehting === undefined) 같은 조건문을 참 많이 썼다. 의도를 명확히 보여주는 연산자인 만큼 필요하면 적극적으로 사용해주자. 둘다 nullish하면 마지막 인자의 원형을 리턴하니까 마지막 인자에는 꼭 기본값을 주자.

5. 한 가지 함수, 한 가지 기능.

설령 다시는 재사용 될 일이 없다고 하더라도, 추후 코드 가독성을 위해서라도 분리하는 것이 좋다. 한 개의 함수가 한가지 일만 해야 한다는 말은 많이 봤는데, 재사용 될 일 없다면서 막 붙여 쓴 적이 많다. 그렇게 재사용 될 일 없는 함수들은 지역변수에 담고 fold해둔 뒤 'self-describing'이라고 주석을 달아 주는것도 좋겠다.

profile
리눅스와 컴퓨터 프로그래밍

0개의 댓글