Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Docker
- 시퀄라이즈
- 블록체인
- 머클루트
- 이더리움
- 벨로포터
- 자바스크립트
- 설치
- 노드
- 리눅스
- immer
- 솔리디티
- node.js 교과서 따라하기
- wget
- wsl
- centos
- npm
- 일반유저
- 환경변수
- 리액트
- 리액트를 다루는 기술
- Sequelize
- 우분투
- 변수
- MariaDB
- 깃허브
- 라우터
- 머클트리
- 쉘스크립트
- 전역설치
Archives
- Today
- Total
코드코코
[Typescript] class 본문
1. class (extended interface)
- 컴파일에서 반영되는 속성/인자의 집합
- interface에서 확장된 넓은 개념으로, interface와 동일한 목적으로 활용한다.
interface Human{
name: string,
age: number,
job: string
}
- interface는 인자의 type만 정의해준다.
class Human{
public name: string
public age: number
public job: string
}
- class는 인자의 type과 속성(public, private)를 모두 정의해준다.
2. constructor
- class를 통한 객체 생성, 호출 등 초기화를 할 때마다 실행되는 메소드의 일종
class Human{
public name: string
public age: number
public job: string
constructor(name: string, age: number, job: string){
this.name = name
this.age = age
this.job = job
}
}
- 생성자를 통해 인스턴스를 생성할 수 있고, 이 인스턴스는 class 재활용(인자 및 객체 생성)을 할 수 있다.
3. class 활용
- class를 생성하고, 해당 class를 이용하여 새로운 객체를 생성할 수 있다.
class Human{
public name: string
public age: number
public job: string
constructor(name: string, age: number, job: string){
this.name = name
this.age = age
this.job = job
}
}
const person1 = new Human("COCO", 15, "Developer")
const foo = (Human) => {
return `HELLO ${Human.name}(_${Human.age})! How are your ${Human.job} going?`
}
console.log(foo(person1))
export {}
- person1처럼 class를 활용하여 동일한 형태의 객체를 생성할 수 있다.
- 동일한 형태의 객체를 생성하기 위해선 class의 인스턴스가 반드시 필요하고, class의 생성자와 속성이 그 역할을 한다.
- python에서의 class와 형태가 매우 유사하고, 객체지향 프로그래밍 언어에서의 구조와 거의 동일하다.
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class Human {
constructor(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
}
}
const person1 = new Human("LEE HYO KYUN", 15, "Developer");
const foo = (Human) => {
return `HELLO ${Human.name}(_${Human.age})! How are your ${Human.job} going?`;
};
console.log(foo(person1));
//# sourceMappingURL=index.js.map
- 컴파일 이후의 코드인 index.js를 보면, class가 그대로 반영되었음을 확인할 수 있다.
참조
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes ,
'이것저것' 카테고리의 다른 글
[OOP] Object-Oriented-Programming - 객체지향 프로그래밍 (0) | 2022.06.19 |
---|---|
[SASS] Sass 7-1 Architecture (0) | 2022.06.18 |
프로토콜이란? (0) | 2022.05.16 |
MySQL VS mongoDB (0) | 2022.05.05 |