FE/Javascipt

[Javacript] 클래스

따봉치치 2023. 7. 19. 18:17
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