본문 바로가기

JavaScript

js 객체 정리 1. 객체 멤버 관리 자바스크립트에서 객체의 멤버를 내부적으로 어떻게 관리하고, 또 어떻게 객체의 구조를 편집할수 있을까. 멤버 구분 구분 구현 설명 비공개 멤버 비공개 속성 var 변수 객체 내부에서 선언된 변수. 비공개 함수에서만 접근 가능 비공개 메서드 function f(){...} var f = function{...} 객체의 생성자에 인라인 방식으로 정의된, 이름이 있는 함수 또는 익명 함수. 생성자 내부 코드에서 호출 가능 인스턴스 멤버 인스턴스 속성 this.property = 값 외부에서 인스턴스를 통해 접근 가능 obj.property 인스턴스 메서드 this.method = function(){...} 외부에서 인스턴스를 통해 접근 가능 obj.method(); 프로토타입 멤버 프로토.. 더보기
[자바스크립트 강좌] Closure의 이해 / 오버로딩 구현하기 끝. * 이번에는 자바스크립트의 최대 강점이자 가장 독특한 특징 중 하나인 closure에 대해서 알아보자. - 이전 글 2012/12/10 - [속깊은 자바스크립트 강좌] 시작 (예고편) 2012/12/17 - [속깊은 자바스크립트 강좌] 자바스크립트의 Scope와 Closure 기초2013/01/07 - [속깊은 자바스크립트 강좌] function declaration vs function expression 차이점2013/01/10 - [속깊은 자바스크립트 강좌] 함수를 호출하는 방법과 this의 이해 * 이번편을 읽기 전에 closure와 scope에 대한 기본적인 지식이 있어야하니까 아래의 이전 글을 읽고 오면 이해하는데 도움이 될 것이다.2012/12/17 - [속깊은 자바스크립트 강좌] 자바스크립.. 더보기
JavaScript : 프로토타입(prototype) 이해 JavaScript : 프로토타입(prototype) 이해 JavaScript는 클래스라는 개념이 없습니다. 그래서 기존의 객체를 복사하여(cloning) 새로운 객체를 생성하는 프로토타입 기반의 언어입니다. 프로토타입 기반 언어는 객체 원형인 프로토타입을 이용하여 새로운 객체를 만들어냅니다. 이렇게 생성된 객체 역시 또 다른 객체의 원형이 될 수 있습니다. 프로토타입은 객체를 확장하고 객체 지향적인 프로그래밍을 할 수 있게 해줍니다. 프로토타입은 크게 두 가지로 해석됩니다. 프로토타입 객체를 참조하는 prototype 속성과 객체 멤버인 proto 속성이 참조하는 숨은 링크가 있습니다. 이 둘의 차이점을 이해하기 위해서는 JavaScript 함수와 객체의 내부적인 구조를 이해 해야합니다. 이번 글에서는.. 더보기
자바스크립트에서 변수와 프로퍼티의 차이 . 자바스크립트에서 변수와 프로퍼티의 차이.Variable Object자바스크립트에서 코드는 Global context와 Function context 에서 실행됩니다. Global context는 전체 코드에서 1개만 생성이 되고 각각의 함수 호출시 마다 Function context가 생성됩니다. 각각의 컨텍스트는 Variable Object를 가지는데 컨텍스트에서 선언된 변수들은 모두 Variable Object에 저장됩니다. 이 Variable Object는 Rhino가 아니라면 접근할 수 없습니다.하지만, Global context는 특이하게 Variable Object를 Global Object에 가집니다.var a = "hello"; console.log(window.a); // hello fu.. 더보기