본문 바로가기

Javascript17

자바스크립트(javascript) 내장 객체 - 배열 객체 1. 배열 객체 자바스크립트의 배열은 자바, c#과 같은 상력한 타입의 언어와는 다르게 하나의 배열에는 동일한 타입의 요소만 포함되는 것은 아니다.각 요소마다 다른 타입의 객체가 포함될 수 있다. 배열 생성 - 배열 생성자 Array도 Object처럼 자바스크립트에서 미리 만들어 놓은 배열 객체의 생성자. var arr = new Array(); arr[0] = 1;arr[1] = "Hello";arr[2] = true;arr[3] = { a : 1, b : 2}; 요소에 값을 할당할 경우 인덱스에 해당하는 요소가 존재하지 않으면 해당 인덱스의 요소를 추가한다. 그래서 배열의 크기가 자도응로 증가된다. 자바스크립트에서는 배열의 크기가 자동으로 증가된다. 배열을 생성하면서 Array생성자에 배열의 크기를 .. 2017. 4. 2.
자바스크립트(javascript) 상속 1. 함수와 객체 정의 자바스크립트 파싱 단계가 끝나고 나서 생성자를 이용해 객체가 정의되면 단순히 객체만 생성되는 것이 아니라 그 객체와 관련된 상속 관계도 결정된다. 따라서 상속을 이해하려면 함수와 객체의 생성 절차를 살펴보는것이 도움이 된다. 지금부터 정리하는 글에서는 내용이 함수에 대한 이야기인지 객체에 대한 이야기인지를 잘 구분하여야 한다. 함수 정의 절차 생성자의 prototype 속성은 프로토타입 객체를 가리키고 프로토타입 객체의 constructor 속성은 Person 생성자를 가리킨다.이제 이런 최종적인 그림이 되기까지의 과정을 밟아본다. 프로토타입 객체 정의 자바스크립트에서 정의하고 있는 프로토타입 객체의 실체는 Object 객체이다.이는 자바스크립트의 상속 관계에서 최상위 부모가 Ob.. 2016. 12. 13.
자바스크립트(javascript) 객체 멤버 1. 객체 멤버 관리 자바스크립트에서 객체의 멤버를 내부적으로 어떻게 관리하고, 또 어떻게 객체의 구조를 편집할수 있을까. 멤버 구분 구분 구현 설명 비공개 멤버 비공개 속성 var 변수 객체 내부에서 선언된 변수. 비공개 함수에서만 접근 가능 비공개 메서드 function f(){...} var f = function{...} 객체의 생성자에 인라인 방식으로 정의된, 이름이 있는 함수 또는 익명 함수. 생성자 내부 코드에서 호출 가능 인스턴스 멤버 인스턴스 속성 this.property = 값 외부에서 인스턴스를 통해 접근 가능 obj.property 인스턴스 메서드 this.method = function(){...} 외부에서 인스턴스를 통해 접근 가능 obj.method(); 프로토타입 멤버 프로토.. 2016. 12. 2.
자바스크립트(javascript) 객체 1. 클래스 기반의 객체지향 보통 객체지향이라고 하면 클래스 기반의 객체지향을 주로 의미한다.객체지향의 특성을 잠시 정리해본다. 1) 객체, 메서드, 속성2) 클래스3) 캡슐화4) 집합5) 상속성6) 다형성 위와 같은 객체지향적인 특징을 자바스크립트로는 어떻게 구현할까? 캡슐화 캡슐화와 함께 나오는 개념으로 정보은닉(information hiding) 이 있다.내부의 구현이 어떻게 되어있는지 어떻게동작을 하는지는 사용자에게 숨겨져 있다.자바스크립트에서는 모든 메서드, 속은은 공개(public)로 정의된다. 그러나 비공개(private)특징을 구현하는 방법이 있다. 집합 몇 개의 객체를 합쳐서 하나의 객체로 만드는 것을 집합이라고 한다.이러한 집합 개념은 문제를 좀 더 작고 관리 수 있는 부분으로 나눠서 .. 2016. 8. 30.