본문 바로가기

JavaScript15

[Javascript 강의]10강. Prototype Prototype 프로토 타입은 생성자 함수가 생성되는 시점에 생성된다. 즉 constructor는 함수 정의가 평가되어 함수 객체를 생성하는 시점에 프로토타입도 더불어 생성된다. 상속과 프로토타입 자바스크립트는 프로토타입을 기반으로 상속을 구현하여 불필요한 중복을 제거한다. //생성자 함수 function Circle(radius){ this.radius = radius; this.getArea = function(){ return Math.PI * this.radius ** 2; } } const circle = new Circle(1); const circle = new Circle(3); //프로토타입 기반 //생성자함수 function Circle(radius){ this.radius = rad.. 2021. 10. 4.
[Javascript 강의] 9강.프로퍼티 어트리뷰트 프로퍼티 어트리뷰트 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. 이중 대괄호 "[[...]]"로 감싼 이름들이 내부 슬롯과 내부 메서드다. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 내부 로직이므로 원칙적으로 자바스크립트는 내부 슬롯과 내부 메서드에 직접적으로 접근하거나 호출할 수 있는 방법을 제공하지 않는다. 단, 일부 내부 슬롯과 내부 메서드에 한하여 간접적으로 접근할 수 있는 수단을 제공하기는 한다. const o = {}; o.[[Prototype]] //Uncaught SyntaxError: Unexpected toke '[' o.__proto__ //Object.prototype 디스크립터.. 2021. 10. 3.
[Javascript 강의] 8강 스코프 스코프 스코프(scope)는 유효 범위이다. 스코프는 변수 그리고 함수와 깊은 관련이 있다. 함수의 매개변수는 함수 몸체 내부에서만 참조할 수 있고 함수 몸체 외부에서는 참조할 수 없다. function add(x, y){ //매개변수는 함수 몸체 내부에서만 참조할 수 있다. //즉, 매개변수의 스코프는 함수 몸체 내부다 console.log(x, y); //2 5 return x + y; } add(2, 5); //매개변수는 함수 몸체 내부에서만 참조할 수 있다. console.log(x, y); //ReferenceError: x is not defined var var = 1; //코드의 가장 바깥 영역에서 선언한 변수 if(true){ var var2 = 2; //코드 블록 내에서 선언한 변수 i.. 2021. 9. 25.
[Javascript 강의] 6강 객체 객체 원시 타입의 값, 즉 원시 값은 변경 불가능한 값이지만 객체 타입의 값, 즉 객체는 변경 가능한 값이다. 자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 프로퍼티: 객체의 상태를 나타내는 값 메서드: 프로퍼티를 참조하고 조작할 수 있는 동작 객체 리터럴에 의한 객체 생성 //객체 생성 방법 1. 객체 리터럴 2. Object 생성자 함수 3. 생성자 함수 4. Object.create 메서드 5. 클래스(ES6) //객체 리터럴 생성 var person ={ name: 'Lee', sayHello: function(){ console.log(`Hello: My name is ${this.name}`); } } co.. 2021. 9. 14.