[KEYWORD]
전역, 전역객체, 렉시컬 환경, 전역 객체의 렉시컬 환경, 메서드, 함수, 프로퍼티, 할당, 호출
전역 객체란 무엇을 의미하는 것 일까요?
다른 언어의 객체와 자바스크립트의 객체는 어떻게 다를까요?
그렇다면 this는 어떻게 달라질까요?
함수와 메서드의 차이에 대해서 조금 더 알게된게 있을까요? 지난번에 했던 답과는 어떻게 다를까요?
책에서 self 변수로 선언을 해서 만들어서 구현하려고 했던 'this'는 어떤 것 때문에 그렇게 구현했을까요?
변수를 활용해서 우회하지 않으면, this는 전역객체를 가리키게 되기 때문이다.
다시 함수와 메서드의 차이를 말씀해주세요
기준 : 독립성
함수 : 그 자체로 독립적인 기능을 수행
메서드 : 자신을 호출한 대상 객체에 관한 동작을 수행
프로퍼티에 할당, 메서드로서의 호출을 설명해주세요
"this 가 주는 인상"이라는 개념을 본인이 생각한대로 아는만큼 작성해주세요.
[KEYWORD]
제어권, 콜백함수, 고차함수, 콜백지옥
프로그래밍의 제어권이라는 것은 무엇을 말하는 걸까요?
어떤 시점에 콜백을 호출할지,인자는 어떤 값들을 지정할지,this에 무엇을 바인딩 할지 등이다.
콜백 지옥이란 뭘까요?
콜백 함수를 익명 함수로 전달하는 과정이 반복되어 코드의 들여쓰기 수준이 헬 수준인 경우
주로 이벤트 처리 및 서버 통신과 같은 비동기적 작업을 수행할 때 발생
뭐가문제? 가독성, 수정도 어려움
추상화란 뭘까요?
우리가 객체를 만드는 과정은 현실 또는 가상의 존재를 프로그램 내에서 사용할 용도에 맞게 적절하게 설계하는 과정.
복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려내는 것
추상화(abstract)란 복잡한 어떤 것을 압축해서 핵심만 추출한 상태로 만드는 것이다. 일상생활에서도 쉽게 찾을 수 있다. 대중교통을 이용할 때 교통카드를 사용하는 과정 안에도 수많은 원인과 결과가 있듯이말이다.
자바스크립트와 같은 프로그래밍 언어 또한 추상화의 결과라고 볼 수 있다.
❗ 함수라는 것도 반복되는 로직을 별도로 작성해 둔 추상화 사례이다!
추상화의 관점에서 함수는 사고(thought) 또는 논리(logic)의 묶음이다.