Javascript

· Javascript
자바스크립트의 굉장히 유연한 특징! 마음대로 누군가의 자식이 될 수 있다~~ 단, 자식은 부모를 못바꾼다 let superObj = {superVal:'super'} let subObj = {subVal:'sub'} // 자바스크립트의 굉장히 유연한 특징! // 마음대로 누군가의 자식이 될 수 있다 subObj.__proto__ = superObj; // '__proto__'라는 링크를 걸어줌: subObj는 선조는 superObj이다 console.log('subObj.subVal =>',subObj.subVal); console.log('subObj.superVal =>',subObj.superVal);// 객체 subObj가 superVal이라는 속성을 가지는 지 찾아봄. 없다, 그러면 '__pro..
· Javascript
Object.create() __proto__ 대신에 'Object.create()' 를 사용해서 prototype link(명확한 상속관계)를 지정해줄 수 있다. let lee = Object.create(kim); kim을 부모로 하는 자식객체 lee를 만들어줘 let superObj = {superVal:'super'} //let subObj = {subVal:'sub'} //subObj.__proto__ = superObj; let subObj = Object.create(superObj);// superObj를 부모로 하는 새로운 객체,보다 prototype link(명확한 상속관계)를 확립! subObj.subVal = 'sub'; //주석처리를 한 위의 코드와 똑같이 동작 console.lo..
· Javascript
'__proto__' lee.__proto__ = kim; lee는 kim의 자식이다 // class 문법이 아니라 아주 관습적(prototype)으로 상속하는 방법 let superObj = {superVal:'super'} let subObj = {subVal:'sub'} // 자바스크립트의 굉장히 유연한 특징! // 마음대로 누군가의 자식이 될 수 있다 subObj.__proto__ = superObj; // '__proto__'라는 링크를 걸어줌: subObj는 선조는 superObj이다 console.log('subObj.subVal =>',subObj.subVal); console.log('subObj.superVal =>',subObj.superVal);// 객체 subObj가 superVa..
· Javascript
super 키워드 super() 키워드는 상위(부모)객체의 함수를 호출할 때 사용됩니다 단, constructor(생성자) 안에서는 super 키워드 하나만 사용되거나 this 키워드 전에 먼저 호출되어야 합니다 부모 클래스의 영역을, 자식클래스(나)도 포함하고 있는 경우! 중복을 줄이려고 그때, 사용하는 키워드 'super' super 형태 2가지 1.super() = 부모 클래스의 생성자(constructor) 2.super. = 부모클래스의 class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum(){ return this.first+this.second; } ..
· Javascript
Class inheritance 상속을 쓰는 이유: 중복코드를 제거하기 위함. 즉, 부모클래스를 일일이 쓰지않고, 데려와 새로운 기능을 자식 class에 추가해 주고 싶을때 형태 : 자식클래스인 PersonPlus 는 부모클래스인 Person의 속성을 가지고 와서 공유한다 따라서, 부모클래스 Person의 속성을 수정한다면, 자식클래스 PersonPlus 속성도 수정됨 //부모클래스 class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum=()=>{ return (this.first+this.second); } } //자식클래스 class PersonPlus exte..
· Javascript
Class는 뭐다? constructor 메소드를 사용해 보다 쉽게 객체를 만드는 공장! prototype 기반의 객체를 만드는 공장이 있고, (보기쉬움) class 기반의 객체를 만드는 공장이 있다. // 생성된 객체를 어떻게 초기화? // 먼저 실행되도록 만들어진 constructor 함수를 class 내에서 구현 class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum=()=>{ return 'class : '+(this.first+this.second); } } let kim = new Person('kim',10,20); kim.sum = function()..
· Javascript
prototype(유전자) -객체들이 공통적으로 사용하는 속성값 프로토타입을 사용하지 않고, 생성자 함수 안에서 메소드를 직접 정의한다면 어떤 비효율? - 객체를 생성할때마다 중복적인 메소드로 인해, 메모리 낭비가 생김 그 비효율을 프로토 타입을 통해 어떻게 극복했는지? -객체들이 공통으로 사용하는 속성값(프로토타입)을 정의해서, 객체 안에 일일이 메소드를 쓰는 과정을 생략해, 효율적인 메모리 사용가능 function Person(name,first,second){ this.name =name; this.first=first; this.second=second; } //형태 Person.prototype.sum=function(){ return 'prototype : '+(this.first+this.s..
· Javascript
Constructor function(생성자 함수) 객체 양산 함수, 즉 객체를 찍어내는 함수이다. 이전에는 하나의 객체마다 키와 값을 부여해줬다면, 컨스트럭터와 new 라는 객체생성 키워드를 사용하여 컨스트럭터에 정의되어 있는 속성과 메소드를 한번에 받아올 수 있고, 각각의 값은 매개변수로 받아 각 상황마다 변경하여 사용할 수 있다. // 함수에 매개변수를 만들어준다 function Person(name,first,second,third){ this.name =name; this.first=first; this.second=second; this.third=third; this.sum=function(){ return this.first+this.second+this.third; } } // 생성자함수..
becky(지은)
'Javascript' 카테고리의 글 목록 (5 Page)