codingPpushu's dev story

Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.

0%

클로저 P? 생명 주기가 끝난 외부함수 변수를 참조하는 함수
외부함수 호출 =>
새로운 함수 반환
(클로저/자유변수)
성능 문제 유발 o 함수 캡슐화 setTimeout() 지정
함수의 사용자 정의
특정 함수 =>
사용자 정의 객체의
메서드 연결
프로퍼티값 쓰기 o =>
값 여러번 호출 =>
변할수 있음
하나의 클로저 =>
여러 함수 객체 스코프 체인
루프 안 주의

스코프 체인 P? 함수 객체 내 연결 리스트
스코프 : 유효범위 각 함수 객체 [scope] 프로퍼티 => 현재 컨텍스트의 스코프체인 참조 실행 함수 객체의
[scope] 프로퍼티 복사, 새 변수 객체 해당 체인 제일 앞에 추가
현재 실행 컨텍스트 변수 객체
상위 컨텍스트 스코프 체인 식별자 인식 => 첫번째 변수 객체부터 시작 this = 키워드로 분류됨

실행 컨텍스트 P? 코드를 형상화하고 구분
실행 가능한
코드 블록이 실행되는 환경
활성 객체(= 변수 객체)
실행에 필요한 여러가지 정보를 담는 객체
arguments 객체 =>
agruments 프로퍼티로 참조
유효범위 => 스코프 정보 생성
내부 지역
변수 생성
this 바인딩 코드실행 : 실행 컨텍스트 => 변수 => 코드

함수 P? 함수는 늘 리턴값을 반환하고 프로토타입은 객체다
함수 : 리턴값 반환 (일반함수, 메서드)
리턴값x <= undefined
(생성자 함수)
리턴값x <= 생성 객체
리턴값(객체) o <= 넘긴 객체
불린, 숫자, 문자열 무시
(객체 생성 규칙)
생성자 함수 prototype 프로퍼티 =>
prototype 객체 =>
부모 객체 취급([prototype] 링크연결)
프로토타입 체이닝 =
자신 프로퍼티 o
부모 프로퍼티 o
생성자 함수
프로토타입 체이닝 =
객체 생성 규칙 동일
프로토타입 종점 =
Object.prototype 객체
프로토타입 = 객체 =>
동적으로 값 추가/삭제 o=>
실시간 프로토타입 체이닝 반영
디폴트 프로토타입 =>
다른 객체 변경 가능
객체 프로퍼티 읽기
메서드 실행
=> 프로토타입 체이닝 동작

함수 P? 호출 패턴에 따른 this 바인딩과 명시적 this 바인딩
객체 메서드
호출 this 바인딩
함수 호출 this 바인딩
(내부 함수 동일)
생성자 함수 호출
this 바인딩
생성자 함수 동작
(빈 객체 및 바인딩 =>
this 프로퍼티 생성 =>
생성 객체 리턴)
객체 리터럴 vs 생성자 함수
(프로토타입 객체 다름)
call, apply 메서드
(명시적 this 바인딩)
apply() : 원하는 값 매핑해
특정함수, 메서드 호출

함수 P? 자바스크립트에서 함수는 객체이며 값으로 취급
일급 객체 변수, 프로퍼티 값으로 할당 함수 인자로 전달 리턴값
함수 객체 표준 프로퍼티
(length, prototype...)
prototype
!==
내부 [[prototype]]
prototype
<=>
constructor
형태 :
콜백 함수, 즉시 실행 함수,
내부 함수, 리턴 함수
함수 호출, this arguments 객체 (유사배열)

함수 P? 함수 정의
함수 리터럴 함수 선언문 함수 표현식 함수 변수
Function 생성자 함수 함수 호이스팅 함수 객체 (코드 실행, 프로퍼티)
  • 유데미 강의 진행 중 함수에 대한 설명이 부족해 추가적으로 책을 통해 보충학습 진행하고 있음

What?

  • A Closer Look at Functions

How?

What?

  • A Closer Look at Functions

How?

What?

  • Data Structure
  • Modern Operators and String

How?