데이터 구조의 종류 기본형(Primitive Type) : Number, String, Boolean, null, undefined 값을 메모리에 그대로 할당 참조형(Reference Type) : Object 값이 저장된 주소값을 할당(참조) 두개의 차이를 알아보자 기본형 데이터의 변수 선언 변수를 선언시 메모리에 변수가 담길 공간 확보 -> @413...
HOISTING 끌어올리다. 자바스크립트는 소스 실행전 실행하려는 함수가 선언되어있는지 확인하여 위로 끌어 올린다. 소스를 실행하게 되면 호이스팅되면서 이런식으로 변경되어 실행됨.
FUNCTION DECLARATION VS FUNCTION EXPRESSION 함수표현식의 선언되는 순서 할당이 되지 않은 함수의 경우 함수선언문 전체가 호이스팅됨 할당이 된 함수의 경우 할당된 변수만 호이스팅 됨 함수가 오버라이딩되어 내가 원하지 않는 값이 나오는 것을 막기위해 함수표현식을 주로 사용함
FUNCTION SCOPE, EXECUTION CONTEXT SCOPE : 유효범위 (변수) 스코프는 함수가 정의될 때 결정 EXECUTION CONTEXT : 실행되는 코드덩어리(추상적 개념) 실행 컨택스트는 함수가 실행될 때 생성 위의 소스가 실행될때 전역 실행컨택스트 생성 호이스팅 변수 a 선언 함수 outer 선언 변수 a에 1할당...
METHOD 함수명 앞에 . 이 있으면 메소드이다. 함수와 메소드의 차이는 this를 바인딩 하는것의 여부 메소드가 this를 바인딩함(이때 this는 . 앞의 것임)
이놈의 this... this는 전역공간에서 window / global 함수 내부에서 기본적으로 window / global 메소드 호출시 .앞의것 callback에서 기본적으로 window / global (함수에서 바인드함수를 통하여 this를 바꿀수있음.) 생성자함수에서는 자기자신
함수 내부에서 생성한 데이터와 그 유효범위로 인해 발생하는 특수한 현상/상태 전역 실행컨텍스트 생성 함수 setCounter과 변수 count1 선언 (호이스팅) setCounter 실행 (이때 setCounter의 실행컨택스트 생성) setCounter의 스코프 안에서 변수 count2와 익명함수가 선언 익명함수가 리턴되어 count1 변수에 할당 co...
prototype, \proto, constructor관계 Constructor instance prototype 동작원리 위의 소스의 중복을 줄이기 위해 prototype에 getAge함수를 선언하게 되면 각 instance 마다 getAge 함수를 선언하지 않아도 됨. this가 iu.proto이기때문에 반환값이 NaN이 나오는 문제를 해결하기위해...
상속 중복된 메소드와 프로퍼티를 줄이기 위해 상속을 사용 person의 getName메소드는 잘가져오지만 불필요한 person의 static property를 가져온다. 해결하기위해 bridge를 만들어서 person의 prototype 메소드만 가져온다. 깔끔하게 정리한 extend 메소드 es6에서는 class가 나와서 더 쉽게 상속을 구현할수...