JS 코테 팁

최중혁·2022년 5월 10일
0

개요

Javascript 코딩테스트에 대한 팁 및 주의점

우아한 테크코스 프론트 엔드 직무는 코딩테스트가 js이다.

그러므로 js 를 활용한 코딩테스트도 진행할 수 있어야 한다.

장점: c++ 보다 빠르게 코딩이 가능, 데이터 타입이나 문자열 타입에 제한이 없기때문에 컴파일 에러가 잘 안남.

단점: 컴파일 에러에서 잡지 못하는 에러가 테스트케이스에서 발생할 수 있음.

주의점

  • 자바스크립트에서 문자열은 immutable형이라서 특정 인덱스의 수정은 불가능
  • value형이 들어갈 곳에 객체형(배열 or Object)을 넣어도 컴파일 자체는 가능한 경우가 많다. console에도 찍히지만 메소드가 작동하진 않아서 에러를 찾기가 힘듬
    ex) array.fill(Arr): fill()의 인자에는 value가 들어가야 하지만 객체가 들어가도 컴파일은 된다... 대신 fill함수는 작동하지 않는 경우가 발생함...
  • 0 == ‘0’ 0!==’0’: 0과 '0'을 '==' 로 구별할 수 없다.

설명

Const, var and let

es6+ 문법을 지원하므로 const, var ,let 셋 다 사용 가능

let은 for 문의 i 에 이용

const는 let과는 달리 변하지 않을 때 사용 가능

var는 함수형 스코프이다.

되도록이면 var나 const,let 중에 일관되게 쓰는 것이 좋다.

왠만하면 var를 추천. 모든 변수를 처리할 수 있어서 유용. 그러나 var는 함수형 스코프 이므로, 두번 선언해도 컴파일 에러가 발생하지 않는 다는 것만 주의하면 된다.

0과 ‘0’은 같다.

c++과 다르다. 0과 ‘0’을 둘다 false로 인지한다.

그러므로 두개를 구분하고 싶을 때는 ===를 사용하자, 0 == ‘0’ 이다.

객체로 들어온 것을 바꾸지 말자.

function func(array){

array.slice()

⇒ 이렇게 쓰면 side effect Error가 발생할 확률이 크다.

⇒> _array 처럼 객체 복사를 통하여 return하는 것이 좋다.

배열

생성

var array=new Array();

or

var array=[,,,];

메소드

array.length :배열의 길이 ⇒ array,size()

문자열

생성

var sample1 = new String("Sample1"); //첫 번째 방식
var sample2 = "Sample2"; //두 번째 방식

메소드

String.indexOf("찾을 문자", index);

String.lastIndexOf("찾을 문자");

치환

String.replace("찾을 문자", "치환할 문자");

자르기

**substr() ⇒ c++도 같다!!**

0개의 댓글