조금씩 하는 면접 질의응답(1)

박한솔·2021년 1월 2일
0

1. closure란 무엇이고 어디에 활용됩니까?

closure란 mdn설명으로는 함수와 그 안에 존재하는 lexical environment와의 조합입니다.
이 것을 더 정확하게 표현하면 내부함수가 스코프 밖에 있는 변수에 접근하는 것이라고 할 수 있습니다.

closure의 가장 큰 특징은 정보 은닉과 캡슐화를 제공한다는 것이고 이를 이용해서 module model을 만드는 데에 활용됩니다.

참고자료 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Closures -> mdn 클로저 정의

https://poiemaweb.com/js-closure -> 클로저 함수의 좀더 자세한 활용법

2. this는 자바스크립트에서 몇가지로 추론되는지? 그리고 call과 apply의 차이?

함수를 호출할 때 new 키워드를 사용하는 경우 함수 내부의 this는 완전히 새로운 객체입니다.
call bind apply를 통해 호출될 때 함수 내부의 this는 인수로 전달된 객체입니다.
함수를 메서드로 호출하는 경우 this는 함수가 인자인 객체입니다. 브라우저에서는 window 객체입니다. 엄격 모드('use strict') 일 경우, this는 전역 객체 대신 undefined가 됩니다.

.call은 쉼표로 구분된 인수를 두 번째 인수로 취하고 .apply는 인수의 배열을 두 번째 인수로 취합니다.

3. http의 get과 post의 차이점에 대해서 설명해주세요.

우선 GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분의 url 에 담겨서 전송된다. 이렇게 보내진 데이터에는 크기가 제한되어있고 url 정보가 전송되기 때문에 보안에 취약해집니다. 그래서 get은 데이터를 가져올 때 사용하게 됩니다.

POST는 request가 body에 전송되게 됩니다. url이 노출되지 않기 때문에 보안의 위험이 존재하지 않고 데이터의 양에 제한이 없어서 요청을 하는 데에 사용됩니다.

profile
치열하게, 하지만 즐겁게

0개의 댓글