728x90
Prototype
생성자를 통해서 반환된 인스턴스에서 쓸 수 있는 별도의 속성이나 메소드를 등록하는 객체
클래스 ES6 Class
class User {
constructer (first, last) {
this.firstName = first;
this.lastName = last;
}
getFullName() {
return `${firstName} ${lastName}`
}
}
const person = new User('Potter','Harry')
person.getFullName()
Getter
값을 얻어내는 용도의 메소드
Get 키워드를 사용하여 함수를 작성하면 하나의 속성처럼 사용 가능함
class User {
constructer (first, last) {
this.firstName = first;
this.lastName = last;
}
get fullName() {
return `${firstName} ${lastName}`
}
}
const person = new User('Potter','Harry')
person.fullName
Setter
값을 지정할 때 사용하는 메소드, set 키워드 사용
set fullName(value) {
[this.firstName, this.lastName] = value.split(' ')
}
person.fullName = 'Million Poter'
정적 메소드
인스턴스가 아닌 클래스 자체에서 호출해서 사용할 수 있는 메소드
Static 키워드를 사용
class User {
...
static isUser(user) {
if(user.firstName && user.lastName) return true;
else return false
}
}
User.isUser(person) //true
상속
Extends 키워드 사용, 생성자 만들 때 super 무조건 먼저 호출되어야함
class A() {
...
}
class B extends A() {
constructor() {
super()
}
}
const b = new B()
b instanceof B //true
b instanceof A //true
Instancof
인스턴스 instanceof 클래스명
해당 클래스에서 만들어진 인스턴스인지 확인하는 키워드
728x90
'FE > Javascipt' 카테고리의 다른 글
[Javascript] Number (0) | 2023.07.20 |
---|---|
[Javascipt] String (0) | 2023.07.20 |
[Javascipt] This (0) | 2023.07.18 |
[Javascipt] 함수 (0) | 2023.07.18 |
[Javascript] 구조 분해 할당과 선택적 체이닝 (0) | 2023.07.17 |