해당 질문에 면접에서 답변할 수 있을 정도의 길이(3~4줄)로 답변을 달아보세요. 특히 면접 답변의 핵심은 두괄식(핵심을 먼저 말하는 것)입니다. 완성 후, 면접 하루 전날 족보처럼 훑어보고 면접을 보러갑시다!
📌var, let, const의 차이에 대해 알려주세요.
답변▶️ var로 선언한 변수는 동일한 이름으로 여러 번 중복해서 선언이 가능하나 코드량이 많아 졌을 때 같은 이름의 변수명이 여러 번 선언되었다면 어디 부분에서 문제가 발생했는지 파악하기 힘들고 값이 바뀔 우려가 있습니다.
let은 중복선언이 불가능하나 초기화 이후 반복해서 다른 값을 재할당 할 수는 있습니다.
const는 중복 선언 불가능 및 재할당이 불가능하나 배열 오브젝트의 값을 변경하는 것은 가능합니다.
변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 한정해 let 을 사용하는 것이 좋습니다.
그리고 객체를 재할당하는 경우는 생각보다 흔하지 않기 때문에 const 를 사용하면 의도치 않은 재할당을 방지해 주어 안전합니다.
📌Async/Await와 Promise의 차이에 대해 설명해주세요.
답변▶️ Promise 는 자바스크립트에서 비동기 처리에 사용되는 객체로 내용은 실행 되었지만 결과를 아직 반환하지 않은 객체라고 이해하고 있습니다. Promise 에는 3가지 상태가 있는데 Pending (대기),Fulfilled (이행),Rejected (실패)입니다. 비동기 처리가 완료 되지 않았다면 Pending, 완료 되었다면 Fulfilled, 실패하거나 오류가 발생하였다면 Rejected 상태가 됩니다.
async / await은 callback 이나 Promise 의 단점을 해소하고자 만들어졌다고 하며 await 는 async
은 함수 안에서만 동작합니다. 하지만 async/await 은 Promise 와 는 다르게 에러를 핸들링 할 수 있는 기능이 없어 try-catch() 문을 활용하여 에러를 핸들링 하여 주어야 합니다