240110 TIL

윱니·2024년 1월 10일
1

<기술면접질문>

  • var, let, const의 차이에 대해 알려주세요.
    var는 함수 스코프를 가지며 변수의 재선언과 재할당이 가능합니다. let, const은 ES6부터 지원하는 블록 스코프를 가지며 변수의 재선언이 불가합니다. 둘의 차이점은 변수의 재할당 여부 입니다.
    스코프: 모든 식별자는 자신이 선언된 위치에 따라 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위
    함수 스코프: 변수는 호이스팅 되서 전역 또는 해당 함수에 지역변수로 선언.
    블록 스코프:주어진 코드 블록({}) 안에서만 사용이 가능하며 밖에서는 접근할 수 없음.

  • Async/Await와 Promise의 차이에 대해 설명해주세요.
    에러 핸들링 기능 여부와 코드의 가독성에서 차이가 있습니다. Promise는 비동기 로직 처리용 객체이며 then, catch 메서드로 에러 핸들링이 가능합니다.
    Async / Await는 비동기 로직 처리용 키워드이며 try-catch 문으로 에러를 핸들링 해야합니다. Promise보다 Async / Await가 동기적인 로직처럼 직관적인 코드입니다.

ex)

//promise
// http://api.naver.com/weather/today 로 요청을 한다고 가정합시다.

axios.get('http://api.naver.com/weather/today')
.then(response => {
	console.log('정상처리 되었습니다 : ' + response);
})
.catch(error => {
	console.log('오류가 발생하였습니다 : ' + error);
})
.finally(()=>{
	console.log('항상 실행되는 부분입니다!');
});
//async await
const getWeather = async () => {
	try {
		const response = axios.get('http://api.naver.com/weather/today');
		console.log('정상처리 되었습니다 : ' + response);
	} catch (error) {
		console.log('오류가 발생하였습니다 : ' + error);
	}
}
profile
코린이 탈출을 기원하는 코린이

0개의 댓글