
(ES6에서는 클래스 문법이 생겼다지만. 동작 및 방식에 대해 아직 공부하지 않았으므로 언급하지 않고 다음으로 미루겠습니다.) 자바(Java)나 파이썬(Python) 등, 보통 객체지향언어들은 클래스(Class) 기반의 언어라고 합니다. 하지만 자바스크립트는 프로토타입 기반(Prototype-based programming)의 객체지향언어입니다. 그래서 자바스크립트로 프로그래밍을 하다 보면 필수적으로 프로토타입 기반 프로그래밍이라는 말을 접하게 됩니다. 자바스크립트 그 자체로 불릴 만큼 중요한 개념인 프로토타입에 관해서 공부해보겠습니다. 프로토타입(Prototype) " 원래의 형태 또는 전형적인 예, 기초 또는 표준이다. 시제품이 나오기 전의 제품의 원형으로……. 블라블라…. 중요한 기능들이 포함된 시..
호이스팅(Hoisting) 클로저같은 문법들의 효용성을 이해하기위해서 자바스크립트가 가졌던 특징입니다. var나 let, const로 정의된 변수나 함수선언문, 함수표현식이 유효범위의 최상단으로 끌어올려지는 것처럼 보여지는현상을 말합니다. 최상단으로 끌어올려지는 것처럼이라고 설명한 이유는 가상의 개념으로 설명하는 것이 좀 더 이해의 측면에 유리하기 때문입니다. 정확히 말하면 실행 컨텍스트가 활성화 되었을때 해당 영역에서 변수의 이름을 메모리에 먼저 수집하는 현상으로 인해 발생하는 현상입니다. 즉, 가상의 개념에서는 이해를 돕기위해 호이스팅을 '최상단으로 끌어올려진다'라고 말하지만 코드의 위치는 변하지 않습니다. 간단히 말하면, '유효범위의 코드가 실행되기 전 메모리에 먼저 저장했던 선언문을 사용할 수 있..
스코프는 자바스크립트를 이용하는 데에 있어 필수적인 개념입니다. 이 포스팅 뒤로 클로저에 대해 알아볼 건데, 그전에 앞서 스코프의 정의가 먼저 필요하기 때문에 스코프 정의를 먼저 정리해보겠습니다. 스코프(Scope)의 정의 함수를 작성할 때 아래와 같이 중괄호 '{ }'를 이용하여 함수의 범위를 작성합니다. function hello(){ alert('함수 작성'); } 즉, [변수가 영향을 미치는 범위], [변수의 유효 범위], [코드가 유효한 범위]라고 할 수 있으며 규칙입니다. 그리고 스코프의 종류에따라 변수, 함수, 코드 등의 유효 범위가 달라질 수 있습니다. 스코프(Scope)의 종류 스코프의 종류에 대해 알기 쉽게 알아봅시다. 1.동작 - 정적 스코프 - 동적 스코프 2.레벨 - 함수 레벨 스..
쿠키란? 쿠키, 스토리지 비교 쿠키 사용의 예시 /** * 쿠키 세팅 * @param {string} value 쿠키 저장할 name * @param {string | number} days 쿠키 저장 날짜 * @example * this._setCookie('레이어팝업123', 7); */ _setCookie(value, days){ const date = new Date(); date.setDate(date.getDate() + Number(days)); document.cookie = this.uniqueName + "=" + escape(value) + "; path=/; expires=" + date.toUTCString() + ";" } /** * 저장한 쿠키 가져오기 * @param {str..