JS로 코딩 테스트 보기 : 선언

holymoly.jun·2021년 4월 13일
0

JavaScript 완전 정복

목록 보기
1/5
post-thumbnail

성능을 높히는 JS 선언 스타일과 형식



1. 선언


1.1 new Object < { }

  • new 연산자를 사용한 기법 보다는 리터럴 형식으로 선언한 것이 더 좋은 성능을 나타낸다.
// 생성자 함수를 사용한 선언
let obj = new Object();
let arr = new Array();
let str = new String();

// 리터럴 형식으로 선언
let obj = {};
let arr = [];
let str = '';

1.2 var < let < const (우선순위)

  • var와 let, const 는 절대 혼용해서 쓰지말자!
  • var보다는 ES6 문법인 let, const를 사용함으로써, ES6 문법을 알고 있다는 것을 어필 할 수 있다.
  • 상수 변수에는 let보다는 const를 사용하자.
  • let 키워드는 블랙 레벨 스코프를 따르기 때문에 지역변수와 전역변수가 분리 가능하다.

블랙 레벨 스코프란?
코드 블록 내의 변수들은 코드 블록 외부에서 참조할 수 없으며, 외부 전역변수와 다른 변수로 취급된다.
ex) for문 블록 안에 변수 선언시, 지역변수로써 블록 밖의 전역변수와 다른 변수로 취급된다.


2. 반복문


2.1 반복문은 for문 또는 for of문

  • map 함수 와 for-each 구문은 가독성이 좋은 반면, 매우 느린 속도를 나타낸다. 가독성을 보여줘야 하는 실제 코드에서 만쓰자.
  • '효율성' 따지는 문제에서 시간 초과가 뜰 확률이 있으니, 지양하자.

2.2 for 문 사용시 length는 캐싱해놓자.

for(let i = 0, len = arr.length ; i < len ; i++){
    //캐싱을 해놓지 않으면, 반복문이 돌 때마다 length 함수가 돌 것이다. 
}

3. 조건문

3.1 삼항 연산자는 되도록이면 No !

  • 조건문에서 삼항연산자가 switch-case문과 if-else문에 비해 성능이 다소 좋긴하지만, 조건이 많을 경우에는 가독성이 매우 떨어진다.
  • 일단 본인이 실수할 확률이 높으며, 채점하는 사람 입장에서 눈살이 매우 찌푸러질 확률이 높다.

3.2 == 보다는 === 을 통해 데이터 타입까지 체크하자.

4. 배열

  • 1차월 배열 선언
// 0으로 초기화된 길이가 n인 1차원 배열
let arr = Array.from({ length: n }, () => 0);
  • 2차원 배열 선언
// 0으로 초기화된 길이가 n*m인 2차원 배열
let graph = Array.from(Array(n), () => Array(m).fill(0))

/*
3*6
0: (6) [0, 0, 0, 0, 0, 0]
1: (6) [0, 0, 0, 0, 0, 0]
2: (6) [0, 0, 0, 0, 0, 0]
*/
profile
Front-End Developer

0개의 댓글