[항해99 취업 리부트 코스 학습일지] 알고리즘 주차의 끝

지혜·2024년 6월 18일
0

💬 주저리
오늘 드디어 3주간의 알고리즘 주차가 끝이났다
골드까지는 생각도 안했는데 마지막날 딱 골드 달성했다 ><
후반에는 문제도 어렵고 힘이 빠져서 너무너무 하기 싫었는데
리워드 덕분에 열심히 할 수 있었던 것 같다 ㅋㅋ

설명처럼 아직 잘 모르겠지만 파이썬과도 많이친해진 것 같고
알고리즘 주차 첫날보다는 발전했다는 생각이 든다 ㅎㅎ

드디어 내일부터 프로젝트 주차의 시작이다...!
죽을 각오로 열심히해보자고~~~


❓ 모의 면접

1. var, let, const의 차이에 대해 알려주세요.
Var let const 모두 자바스크립트에서 면수를 선언할때 사용하며, 변수의 스코프와 재할당 가능성에 차이가 있습니다.

var는 함수 또는 전역 스코프를 가지며, 여러번 재선언이 가능합니다. 선언된 변수는 호이스팅이 되지만 초기화되지 않기 때문에 빈값(undefined)가 반환됩니다.

let과 const는 블록 스코프를 가지며, 변수가 선언된 블록 내에서만 접근이 가능합니다.
동일 스코프 내에서 재선언이 불가능하며, const 는 초기화 이후 재할당 또한 불가능합니다.
변수 선언이 호이스팅되지만, TDZ에 걸려 선언 이전에 접근하면 ‘레퍼런스에러’가 발생합니다.

꼬리질문
1) 호이스팅은 무엇인가요?

자바스크립트에서 변수 선언과 함수 선언이 해당 스코프의 최상단으로 끌어올려지는 동작으로, 변수와 함수를 선언하기 전에 사용할 수 있게 만들어주지만. 변수의 값은 초기화되는 위치에서 할당됩니다.

2) TDZ에 대해 더 설명해 주실 수 있나요?
letconst 키워드로 선언된 변수가 호이스팅되지만, 실제 코드에서 선언되기 전까지 접근할 수 없는 기간을 말합니다. 호이스팅으로 인해 발생할 수 있는 의도하지 않은 동작을 방지하고, 변수 선언 전에 변수를 사용하는 오류를 잡아냅니다.

2. Async/Await와 Promise의 차이에 대해 설명해주세요
Promise는 자바스크립트에서 비동기 작업을 처리하는 객체입니다. 대기(pending), 이행(fulfilled), 거부(rejected)의 세가지 상태를 가질 수 있습니다. thencatch 메서드를 사용하여 결과값이나 오류를 처리할 수 있으며, 체이닝을 통해 연속적인 비동기 작업을 수행합니다.

Async/Await는 비동기 코드를 동기 코드처럼 작성할 수 있게 해줍니다. async 키워드는 함수가 Promise를 반환하도록 하고, await 키워드는 Promise가 해결될 때까지 기다립니다. try/catch 블록을 사용하여 오류를 처리할 수 있습니다.

3. Arrow Function 이란 무엇인지 설명해주실 수 있을까요?
Arrow Function은 ES6에서 도입된 함수 표현식의 새로운 형태입니다. 간결한 문법으로 함수 작성을 할 수 있으며, function 키워드 대신 화살표(=>)를 사용합니다.
Arrow Function은 자신만의 this를 가지지 않고, 주변 스코프의 this를 상속받습니다. 이 때문에 전통적인 함수 표현식에서 겪는 this와 관련된 문제를 해결하는 데 유용합니다.


❓ 멘토링
SI : 월급 제대로 줄건지
솔루션 : 무슨일하는지
서비스/커머스 : 추천👍


항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다. https://hanghae99.spartacodingclub.kr/reboot

0개의 댓글