면접질문 정리
01. var / let / const 의 차이점?
01-1. var
var는 같은 변수명으로 재선언해도 오류가 나지 않아, 간단한 테스트에는 편리하지만 코드량이 많아진다면 어디에서 어떻게 사용되는지 파악이 어렵고 값이 바뀔 우려가 있음
01-2. let
let은 중복된 변수명의 사용을 허용하지 않아, 변수명의 재할당이 필요하며 수정할 필요가 있는 변수에 사용하기 좋
01-3. const
const는 중복된 변수명의 재선언과, 변수명의 재할당 모두 불가능
ㄴ 재할당이 필요없는 상수와 객체에 사용
02. ES란?
ES = ECMAScript
자바스크립트의 표준, 규격을 나타내는 용어
버전) ES5(2009년) / ES6(2015년)출시 매년 업데이트 되고 있음
취업시장에선 ES6+(ES6이후, 모던 자바스크립트) 이상을 요구하고 있음
02-1. ES5와 ES6의 차이점
레거시 코드(누군가 남기고간 기존코드)와의 차이가 있으며,
레거시 코드를 최신문법으로 변경할 수 있는가, 코드의 동작해석이 가능한가로 추측함
02-3. ES6에 추가된 기능
1. let, const 추가
Title | Description |
es5 | var |
es6 | var + let, const |
2. Arrow function(화살표 함) 추가
화살표 함수가 추가되어 함수를 간결하게 나타낼 수 있어, 가독성 및 유지보수성이 올라감
매개변수가 하나일때 ()소괄호 생략가능 , {}대괄호 및 return도 생략가능
function 생략하고 => 로
3. Defalt Parameter(디폴트 매개변수) 추가
기존 함수의 매개변수에 초깃값을 작성하려면 함수 내부에서 로직이 필요했던 것을 로직 없이도 작성 가능하게 보완
4. Templete Literal(템플릿 리터) 추가
back tic : ` `
${} 함수를 통해 자바스크립트 표현식 삽입가능
5. Multi-line string(멀티라인 문자)
관리가 불편했던 라인을 넘어간 문자열을 보완하여 백틱(back tic)을 사용하게 되면 자동 관리해 줌
6. Class(클래스)
객체 생성 방식 중 하나
7. Module(모듈)
재사용하기 위한 코드 조각으로, 세부사항은 캡슐화 시키고 API 부분만 외부에 노출시킨 코드
8. Destructuring assignment(비구조화/구조분해 할당)
객체나 배열에서 사용해서 개별변수에 할당하는 것을 의미
9. Promise(프로미스)
기존에는 콜백함수를 사용한 콜백패턴을 사용했음 → 콜백헬을 발생시킴
이를 해결하기 위해 프로미스 도입, 프로미스 후속처리 메서드를 통해 효과적으로 에러처리 가능하게 됨
03. 리엑트 데이터 실행
함수형 컴퍼넌트 / 클래스 컴퍼넌트 → 리액트 훅
04. 콜백함수
Last updated