객체 지향 자바스크립트 정리

i do as i say·2020년 1월 29일
0
/* 클래스 만들기
클래스란? 청사진 같은 개념
클래스는 항상 첫 글자를 대문자로 쓴다.
클래스의 요소는 속성이라고 부른다*/
function Wannaone (member, age, ranking) {
  //인스턴스가 만들어질 때 실행되는 코드
  this.member = member;
  this.age = age;
  this.ranking = ranking;
} //ES5 ver.

class Ohmygirl {
  constructor (member, age, part) {
    this.member = member;
    this.age = age;
    this.part = part;
    }
  } //ES6 ver.
  
  /* 인스턴스란?
  클래스를 본따서 만든 객체
  new라는 키워드로 해당 클래스의 인스턴스를 만들 수 있다
  */
let trainee1 = new Wannaone('kangdaniel', 25, 1);
// trainee1 = {member: 'kangdaniel', age: 25, ranking:1}
let trainee2 = new Ohmygirl('jiho', 22, 'sing');
// trainee2 = {member: 'jiho', age: 22, part: sing}


//클래스의 메소드 정의
//메소드란? 요소가 함수일 때 메소드라고 한다
Wannaone.prototype.sing = function() {
  console.log(this.member + ' 멤버는 노래를 부릅니다.')
}; //ES5

class Ohmygirl {
  constructor (member, age, part) {
    this.member = member;
    this.age = age;
    this.part = part;
  }
    rap() = {console.log(this.member + '멤버는 랩을 합니다.')}
} // ES6

// 인스턴스의 사용

trainee1.member; // 'kangdaniel'
trainee1.sing(); // 'kangdaniel 멤버는 노래를 부릅니다.'
trainee2;
// {member: 'jiho', age: 22, part: 'sing'}

/*
prototype : 청사진을 만들 떄 쓰는 원형 객체. 
Car.prototype.sing = ~ < 인 것은 Car라는 원형 객체에 sing이라는 요소를 만들 거야
constructor : 인스턴스가 초기화될 때 실행하는 생성자 함수
this : 코드들이 실행되기 위한 환경의 물리적인 객체. new로
인스턴스를 생성했을 때, 바로 그 인스턴스가 바로 this의 값이
된다.
*/

//배열과 class, instance는 닮아 있다.

let arr = new Array(1, 2, 3);
arr = [1, 2, 3];
profile
커신이 고칼로리

0개의 댓글