본문 바로가기
반응형

자바스크립트3

자바스크립트(Javascript) 클래스, 생성자, 프로토타입에 대하여 자바스크립트를 공부하면서 정리해보았다. 클래스 관련해서 클래스, 생성자, 프로토타입에 대해 하나씩 살펴보겠다. 클래스(Class) 자바스크립트는 실제 클래스 기능을 지원하지 않는다. 대신 모조 클래스 를 정의. 모조 클래스 = 프로토타입 객체 or 생성자 함수를 사용하여 구현 가능 1. 생성자 생성자 함수 function Rect(w, h) { this.w = this.w; this.h = this.h; this.area = function() { return this.w * this.h; } } 2. 프로토타입 & 상속 2.1. 프로토타입 객체 모든 함수에 있는 프로퍼티. 함수가 정의될 때 자동으로 생성되고 초기화된다. 초기값은 프로퍼티가 하나 있는 객체로 지정. constructor 만든 클래스는 프.. 2020. 5. 29.
자바스크립트(Javascript) 함수범위와 클로저 함수 유효범위와 클로저 기본적으로 자바스크립트는 함수에 대한 유효범위 만 제공. 자바스크립트의 함수의 바디는 전역 유효 범위랑은 다른 지역 유효 범위 상에서 실행됨. 어휘적 유효범위 함수는 동적이라기 보단 어휘적으로 유효 범위가 정해진다. 유효 범위 : 접근할 수 있는 범위를 의미 함수가 실행되는 유효범위가 아니라 정의되어있는 유효범위 안에서 실행됨. 정의될 때, 현재의 유효 범위 체인이 저장된다. 함수 내부 상태 중 일부가 됨. 함수 하나를 선언하면 함수에서 접근할 수 있는 유효범위는 함수를 포함한 객체의 모든 프로퍼티들(전역객체)이다. 함수 내에 중첩된 함수의 경우 이를 포함한 함수, 상위 객체들이 접근할 수 있는 유효범위가 된다. 유효범위체인이 고정되어도 유효 범위 체인 안에 정의된 프로퍼티는 변경.. 2020. 1. 8.
Javascript 함수(function)에 대하여 Function.. 함수의 암묵적 전달인자. 객체의 메서드로 정의될 때, 함수의 암묵적 전달인자로 전달된다? 정의와 호출 전달인자의 제한이 없다. 명시된 전달인자보다 많으면 무시된다. 명시된 전달인자를 적지않으면 undefined값이 할당됨 물론 위처럼 해서 정상작동 하는 경우가 있는 반면에, 아닌 경우도 있다. 함수 리터럴 function test(x) { ... } var test = function(x) { ... } 함수 리터럴을 이용하여 정의할 수도 있음. 이름을 붙이지 않아도 되는 익명 함수일 때 적합. 선택적으로 함수 이름을 명명하는 것도 허용 (Javascript 1.5 이전 버전은 제대로 동작 안할 수 있음) 익명 함수인데 재귀호출을 사용할 경우 쓰임. var test = function.. 2020. 1. 8.