본문 바로가기

분류 전체보기53

prototype prototype prototype이란 무엇인가? 한국어로는 원형정도로 번역되는 prototype은 말 그대로 객체의 원형이라고 할 수 있다. 함수는 객체다. 그러므로 생성자로 사용될 함수도 객체다. 객체는 프로퍼티를 가질 수 있는데 prototype이라는 프로퍼티는 그 용도가 약속되어 있는 특수한 프로퍼티다. prototype에 저장된 속성들은 생성자를 통해서 객체가 만들어질 때 그 객체에 연결된다. function Ultra() {} Ultra.prototype.ultraProp = true; function Super() {} Super.prototype = new Ultra(); function Sub() {} Sub.prototype = new Super(); var o = new Sub(); .. 2021. 7. 19.
상속 상속 function person(name){ this.name = name; this.interduce = function(){ return 'My name is' + this.name; } } let p1 = new person("honey") console.log(p1) // My name is honey function person() { this.name = name; } person.prototype.name = null; person.prototype.intorduce = function () { return "My name is" + this.name; }; let p1 = new person("honey"); console.log(p1); 상속의 사용방법 function person() .. 2021. 7. 19.
this this this는 함수 내에서 함수 호출 맥락(context)를 의미한다. 맥락이라는 것은 상황에 따라서 달라진다는 의미인데 즉 함수를 어떻게 호출하느냐에 따라서 this가 가리키는 대상이 달라진다는 뜻이다. 함수와 객체의 관계가 느슨한 자바스크립트에서 this는 이 둘을 연결시켜주는 실질적인 연결점의 역할을 한다. 함수호출 함수를 호출했을 떄 this는 무엇을 가르키는지 살표보자. this는 전역객체인 window와 같다. function func() { if (window === this) { console.log("window === this"); } } 결과 window === this 메소드의 호출 객체의 소속인 메소드의 this는 그 객체를 가르킨다 let o = { func : functi.. 2021. 7. 19.
전역객체(Global object) 전역객체(Global object)는 특수한 객체다. 모든 객체는 이 전역객체의 프로퍼티다. function func() { alert("Hello?"); } func(); window.func(); func();와 window.func();는 모두 실행이 된다. 모든 전역변수와 함수는 사실 window 객체의 프로퍼티다. 객체를 명시하지 않으면 암시적으로 window의 프로퍼티로 간주된다. var o = { func: function () { alert("Hello?"); }, }; o.func(); window.o.func(); 자바스크립트에서 모든 객체는 기본적으로 전역객체의 프로퍼티임을 알 수 있다. 전역객체 API ECMAScript에서는 전역객체의 API를 정의해두었다. 그 외의 API는 호스.. 2021. 7. 19.
생성자와 new 객체란 서로 연관된 변수와 함수를 그룹핑한 그릇이라고 할 수 있다. 객체 내의 변수를 프로퍼티(property) 함수를 메소드(method)라고 부른다. 객체를 만들어보자. let person = { name: kikiki", introduce: function () { return "My name is" + this.name; }, }; 객체란 서로 연관된 변수와 함수를 그룹핑한 그릇이라고 할 수 있다. 객체 내의 변수를 프로퍼티(property) 함수를 메소드(method)라고 부른다. 객체를 만들어보자. let person = {}; person.name = "kikiki"; person.introduce = function () { return "My name is" + this.name; }; .. 2021. 7. 19.
함수호출 apply 함수호출 (apply) 함수에 대한 기본 수업에서 함수를 호출하는 방법을 알아봤다. 아래는 함수를 호출하는 가장 기본적인 방법이다. function func() {} func(); JavaScript는 함수를 호출하는 특별한 방법을 제공한다. 본 토픽의 시작에서 함수를 객체라고 했다. 위의 예제에서 함수 func는 Function이라는 객체의 인스턴스다. 따라서 func는 객체 Function이 가지고 있는 메소드들을 상속하고 있다. 지금 이야기하려는 메소드는 Function.apply과 Function.call이다. 이 메소드들을 이용해서 함수를 호출해보자. 결과는 3이다. function sum(arg1, arg2) { return arg1 + arg2; } console.log(sum.apply(n.. 2021. 7. 17.