티스토리 뷰
1. class
- 일종의 청사진(blueprint) 역할
- class를 통해 이용 가능
- constructor(생성자)를 통해 기본값 설정 가능
- 생성자에 인자 설정도 가능
class User {
constructor(age = 20) {
this.username = "John";
this.age = age;
}
}
const firstUser = new User(15);
console.log(firstUser.username, firstUser.age);
const secondUser = new User();
console.log(secondUser.username, secondUser.age);
2. Extending Class
- 기존의 클래스에 새로운 것들을 덧붙이고 싶을 때 이용
- class 새로운클래스 extends 기존클래스
class User {
constructor(age = 20) {
this.username = "John";
this.age = age;
}
introduce() {
console.log(`My name is ${this.username} and I am ${this.age} years old.`);
}
}
class Admin extends User {
removeUser() {
console.log("I can remove user.");
}
}
const newAdmin = new Admin();
newAdmin.removeUser(); // I can remove user.
newAdmin.introduce(); // My name is John and I am 20 years old.
- 이 예시 코드에서 Admin이라는 클래스에는 introduce라는 메서드가 없지만, User라는 클래스에 introduce가 존재하기에 이용 가능
3. super
- Base Class의 constructor를 호출
class User {
constructor({ username = "John", age = 20 }) {
this.username = username;
this.age = age;
}
introduce() {
console.log(`My name is ${this.username} and I am ${this.age} years old.`);
}
}
class Admin extends User {
constructor({ username, age, isActive = true }) {
super({ username, age });
this.isActive = isActive;
}
removeUser() {
console.log("I can remove user.");
}
}
const newAdmin = new Admin({ username: "Alice", age: 15, isActive: true });
newAdmin.introduce(); // My name is Alice and I am 15 years old.
console.log(`isActive: ${newAdmin.isActive}`); // isActive: true
'기록' 카테고리의 다른 글
강의 들은 거 요약 - generator, Proxy (0) | 2024.05.11 |
---|---|
강의 들은 거 요약 - Symbol, Sets, (0) | 2024.05.11 |
React-Query에서 Dependency를 활용한 데이터 재요청 (0) | 2023.09.21 |
햄버거 버튼 만들기 - 3. 클릭 시 모양 바꾸기 (0) | 2023.09.15 |
햄버거 버튼 만들기 - 2. 클릭된 버튼의 모양 (0) | 2023.09.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- themoviedb
- 카카오맵
- BFS
- 브루트포스
- 스택
- 햄버거버튼
- C++
- Next.js
- 코드스테이츠
- 구현
- 자바스크립트
- 다이나믹프로그래밍
- CSS
- NextJS
- 순열
- aws
- Redux
- 프로그래머스
- typescript
- SQL
- react
- 백준
- 완전탐색
- 넥스트js
- 리액트
- 동적계획법
- 알고리즘
- async
- 비트마스킹
- 타입스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함