자바스크립트 코딩 테스트에서 조심해야하는 부분들

seunghw·2021년 12월 20일
2

Algorithm

목록 보기
4/4
post-thumbnail

자바스크립트로 코테를 준비하기 시작하면서 여러 글들을 보았고 JS코테에 대한 중요한 정보들을 조금씩 모아가보려고 한다.

1. const, let

var 만 사용하든지, let 과 const 만 사용하기

Javascript로 코딩테스트를 제출하는 사람들 중 많은 사람들의 실수가, 함수 스코프 var와 블록 스코프 const, let을 혼용하는 점이라고 한다.자바스크립트 코딩 테스트에서 가장 많이하는 실수들

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ');
const a = parseInt(input[0]);
const b = parseInt(input[1]);
console.log(a+b);

개인적으로 입력값은 불변값으로 다루는 것이 좋다고 생각한다. 입력값은 말그대로 문제에서 주어지는 값이므로, 이를 변경할 일은 없는 것이 일반적. 후에 for문이나 조건문 등에서 사용될 때에 입력값을 변경하여 오류가 생기는 일을 막을 수 있다. 따라서 모두 const로 변수를 선언한다.

2. 세미콜론

무조건 쓰기! 썼다 안 썼다하면 질문왔을 때 대처가 어렵다고한다.

많은 프로그래밍 언어들이 문장의 끝에 세미콜론을 붙이는 방식을 채택하고 있다. 자바스크립트는 세미콜론에 비교적 자유롭다. 세미콜론을 붙여도 되고, 붙이지 않아도 된다. 끝에 세미콜론을 붙이는 것이 거의 국룰이 되긴 했지만, 그래도 일부 라이브러리는 세미콜론을 붙이지 않는 컨벤션을 갖고 있다고 한다.

예시) 이렇게 썼다 안 썼다하지 말자.

function mixUsageSemicolons() {
  const students = ['James', 'Jane', 'Mike'];
  
  for (let i = 0; i < students.length; i += 1) {
    if (students[i] === 'Jane') {
      console.log('I found Jane!')
    } else {
      console.log(`It's ${students[i]), not Jane`);
    }
  }
  
  console.log('Printed all students name')
}

세미콜론을 왜 써야하는가에 대한 글

https://www.freecodecamp.org/news/codebyte-why-are-explicit-semicolons-important-in-javascript-49550bea0b82/

3. 일치연산자는 무조건 는는는(===)

== 보다 ===이 문제가 생길 여지가 적다.

이 부분 역시 항상 === 을 사용하는 것이 기준 국룰이라고 한다. 그 이유는 == 을 사용했을 경우 예기치 못한 경우에서 truefalse 가 결과로 반환될 수 있기 때문이다. 해서, 정말 특별하게 반드시 == 을 사용해야하는 경우가 아니라면, === 을 사용하는 것이 바람직하다.

예시)

function strictComparison(names) {
  for (let i = 0; i < names.length; i += 1) {
    if (names[i] === 'Jane') {
      console.log('I found Jane!');
    }
  }
}
profile
Lumos

0개의 댓글