떰데브록

Written by@thumbsu
프론트엔드 개발자 엄지수 입니다.

GitHubTwitterLinkedIn

[코어 자바스크립트] 클래스 정리

자바스크립트는 프로토타입 기반 언어 프로토타입을 기반으로 클래스와 비슷하게 동작하게끔 하는 기법들이 도입돼 왔음 클래스와 인스턴스 어떤 사물의 공통 특성을 모아 정의한 추상적인 개념 인스턴스는 클래스의 속성을 지니는 구체적인 사례 상위 클래스()의 조건을 충족하면서 더욱 구체적인 조건이 추가된 것을 하위 클래스()라고 함 메서드 클래스의 내부에 정의된 …

[코어 자바스크립트] 프로토타입 정리

생성자 함수를 키워드와 함께 호출하면 에서 정의된 내용을 바탕으로 새로운 인스턴스 생성됨 이 인스턴스에는 라는, ”의 prototype 프로퍼티를 참조”하는 프로퍼티가 자동으로 부여 는 생략 가능한 속성 인스턴스는 의 메서드를 마치 자신의 메서드인 것처럼 호출할 수 있음 라고 다시 생성자 함수 자신을 가리키는 프로퍼티를 가지고 있음 자신의 생성자 함수…

[코어 자바스크립트] 클로저 정리

클로저란? 어떤 함수에서 선언한 변수를 참조하는 내부함수를 외부로 전달할 경우, 함수의 실행 컨텍스트가 종료된 후에도 해당 변수가 사라지지 않는 현상 그 본질이 메모리를 계속 차지하는 개념이므로 더는 사용하지 않게 된 클로저에 대해서는 메모리를 차지하지 않도록 관리해줄 필요가 있음 내부함수를 외부로 전달하는 방법 함수를 하는 경우 콜백으로 전달하는 경우

[코어 자바스크립트] 콜백 함수 정리

다른 코드에 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수 제어권을 넘겨받은 코드가 가진 제어권 콜백 함수를 호출하는 시점을 스스로 판단해서 실행함 콜백 함수를 호출할 때 인자로 넘겨줄 값들 및 그 순서가 정해져 있음. 이 순서를 따르지 않고 코드를 작성하면 엉뚱한 결과를 얻게 됨 콜백 함수의 가 무엇을 바라보도록 할지가 정해져 있는 경우도 있음. 정…

[코어 자바스크립트] this 정리

⭐️ 명시적 this 바인딩이 없는 한 늘 성립하는 규칙 전역 공간에서의 는 전역 객체(브라우저에서는 , Node.js에서는 ) 참조함 어떤 함수를 메서드로서 호출한 경우 는 호출 주체(메서드명 앞의 객체)를 참조함 어떤 함수를 함수로서 호출한 경우 는 전역 객체를 참조함 (메서드의 내부함수에서도 같음) 콜백 함수 내부에서의 는 해당 콜백 함수의 제어권을 …

[코어 자바스크립트] 실행 컨텍스트 정리

실행 컨텍스트란? 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 전역 공간에서 자동으로 생성되는 전역 컨텍스트, eval 및 함수 실행에 의한 컨텍스트 등이 있음 실행 컨텍스트 객체가 수집하는 정보 VariableEnvironment, LexicalEnvironment, ThisBinding의 세 가지 정보를 수집 실행 컨텍스트 객체가 활성화 되는 시…

[코어 자바스크립트] 🧬 메모리와 데이터

메모리와 비트 메모리는 매우 많은 비트들로 구성 비트는 0 또는 1만 표현할 수 있는 하나의 메모리 조각 각 비트는 고유한 식별자를 통해 위치를 확인 0과 1만 표현할 수 있는 비트 단위로 위치 확인을 하는 것은 비효율적 몇 개씩 묶어 하나의 단위로 여기는 것이 더 효율적일 것 바이트 1바이트는 8개의 비트로 구성 1비트마다 두 가지 값 표현하므로 1바이…

[코어 자바스크립트] 📭 undefined와 null

와 은 자바스크립트에서 “없음”을 나타내는 두 가지 값 같은 것 같지만 미세하게 다르고, 사용하는 목적 또한 다름 undefined 사용자가 명시적으로 지정 값이 존재하지 않을 때 자바스크립트 엔진이 자동으로 부여함 자바스크립트 엔진이 자동으로 undefined를 지정하는 경우? 사용자가 응당 어떤 값을 지정할 것이라고 예상하는 상황임에도 실제로는 그렇게…

[코어 자바스크립트] 💍 불변값 vs 가변값 vs 변수 vs 상수

불변값과 상수는 같은 개념이 아님 변수와 상수 변수와 상수를 구분하는 성질은 “변경 가능성” 변수와 상수를 구분 짓는 “변경 가능성”의 대상은 변수 영역 메모리 바꿀 수 있으면 변수 바꿀 수 없으면 상수 한 번 데이터 할당이 이뤄진 변수 공간에 다른 데이터를 재할당할 수 있는지 여부가 관건 불변값 불변성 여부를 구분할 때의 “변경 가능성”의 대상은 데이터…

[코어 자바스크립트] 🧫 식별자와 변수

변수는 변할 수 있는 데이터 식별자는 어떤 데이터를 식별하는 데 사용하는 이름, 즉 변수명 변수 선언시 컴퓨터가 메모리 영역에서 수행하는 작업 “변할 수 있는 데이터를 만들건데, 이 데이터의 식별자는 a로 하자!” 메모리에서 비어있는 공간 하나 확보 공간의 이름(식별자)를 a라고 지정 데이터 할당 a라는 이름을 가진 주소에 문자열 ‘abc’를 직접 저장하…