본문 바로가기

⏳ 알고리즘/javascript 알고리즘 개념

자바스크립트 코딩테스트 Tip

참고한 사이트 > 자바스크립트 코딩 테스트에서 가장 많이하는 실수들

 


var, let, const

var를 다른 변수 예약어와 혼용해서 사용하게 될 경우, 자바스크립트의 버전별 차이점에 대한 이해도가 부족하다고 느껴질 수 있다. 

 

WORST 🙅‍♀️

var과 let, const를 모두 섞어 코딩하는 것

 

BEST 🙆‍♀️

var를 사용하지 말고 let과 const로만 코딩하자.

const만 사용해서 코딩이 가능하다면 그렇게 하고, 변수로 선언해야한다면 let으로 변경해주는 것이 좋다.

 


세미콜론(;)

자바스크립트는 끝에 세미클론을 붙이는 것이 거의 국룰이지만, 세미콜론을 붙이지 않아도 오류가 발생하지 않는다.

요즘은 린터들이 자동으로 세미콜론을 뒤에 붙여주고 하니 실제 코딩에서는 괜찮을 수 있다.

 

WORST 🙅‍♀️

세미클론을 붙였다가 안 붙였다가는 금물

 

BEST 🙆‍♀️

세미클론을 항상 사용하는 것이 좋지만, 쓰고 싶지 않다면 하나도 사용하지 않는 게 좋다.

 


일치 연산자 ( == vs === )

==을 사용했을 경우 예기치 못한 경우에서 true, false가 결과로 반환될 수 있기 때문에 반드시 ==을 사용해야 하는 경우가 아니라면, ===을 사용하는 것이 바람직하다.

 

WORST 🙅‍♀️

==은 사용하지 말자.

 

BEST 🙆‍♀️

항상 ===을 사용하자!!

 


불변성 (원본 이용 vs 보존)

불변성이란 외부 스코프에 대한 영향력을 줄여 사이드 이펙트를 방지하고 원본 객체의 상태를 온전히 보존한다는 객체의 원본 보존성을 말한다.

리액트, 뷰, 앵귤러 시대 이후, 어떻게하면 더 나은, 더 안정된 상태 값을 가질 수 있을까에 대한 고민을 많이 했는데, 그런 고민에서 자연스럽게 불변성이란 개념이 부각되었다.

 

WORST 🙅‍♀️

인자는 무슨 일이 있어도 변경하지 말자. 사이드 이펙트를 야기할 가능성이 높다.

 

BEST 🙆‍♀️

새 객체에 깊은 복사로 값을 복사해서 사용하자. (원본 보존)

 


삼항 연산자 ( ? : : )

WORST 🙅‍♀️

if를 사용하기 싫어 삼항연산자를 사용해 아래와 같이 복잡해질 경우는 사용하지 말자.

return country && country.cities 
	? (country.cities[0] === 'LA')
		? (country.cities[1] === 'Washington' 
		   ? 'America'
		   : (country.cities[1] === 'London'
		   	? 'Europe'
		   	: 'World'
		     )
		   )
		: (country.cities[1] === 'Incheon'
		   ? 'Korea'
		   : 'Japan'
		  )
	: 'No country';

 

BEST 🙆‍♀️

깔끔하게 처리할 수 있을 때 삼항 연산자를 사용하자.