
예시 답안(짧은 버전)
ar로 선언한 변수는 재선언과 재할당이 가능하며, 함수 스코프를 가지고 있어 함수 내에서만 유효합니다. 반면에 let은 변수를 재선언하지 못하지만 재할당은 가능합니다. const는 변수를 재선언하거나 재할당할 수 없으며 한 번 할당한 값은 변경할 수 없습니다. const와 let은 블록 스코프를 가지고 있어 중괄호 내에서만 유효합니다.
예시 답안
Async/Await와 Promise는 모두 자바스크립트에서 비동기 처리를 위한 방법입니다. 사용 방식과 가독성에 차이가 있습니다.
비동기란 프로그램이 특정 작업을 완료하는 동안 다른 작업을 동시에 수행할 수 있게 하는 처리 방식을 말합니다.
Promise는 비동기 작업의 최종 완료 또는 실패를 나타내는 객체입니다.
.then() .catch() 메서드를 사용하여 비동기 작업이 성공했을 때와 실패했을 때의 로직을 분리할 수 있습니다.
여러 개의 .then()을 연결하여 비동기 작업을 순차적으로 처리할 수 있습니다.Async/Await 비동기는 코드를 마치 동기 코드처럼 작성할 수 있습니다.async 함수 내에서 await 키워드를 사용하면 해당 비동기 작업이 완료될 때 까지 함수의 실행을 일시적으로 중단합니다.try catch 블록을 사용하여 에러 처리를 할 수 있으므로 가독성이 높아지고, 에러를 쉽게 잡을 수 있습니다.
+) 일반 함수에서의 this는 전역 객체
예시 답안
ES6에서 도입된 Arrow Function(화살표 함수)는 함수 선언을 간결하게 하고 this의 동작을 더 명확하기 하기 위한 목적으로 등장했습니다.
일반 함수에서의 this는 전역 객체를 가르킵니다.
(예: 브라우저 환경에서는 ‘window’ 객체)
하지만 화살표 함수에서의 this는 함수가 정의된 시점의 상위 스코프의 this 값을 유지합니다. 즉 화살표 함수 내의 this는 lexical scope를 따르게 됩니다.
이로인해 this가 더 예측 가능하고 일관성 있게 동작할 수 있다는 장점이 있습니다.