반응형
class
기본 방식
javascript와 다르게 constructor 인자 안에 추가하면, this. 이렇게 안해줘도 자동으로 생성된다
추상화 상속
추상화는 직접 클래스를 선언하지 않고,
상속만으로 사용할 수 있도록 하는 것이다
(abstract, extends)
메소드
메소드 앞에 private 추가하면 작동하지 않는다
자바스크립트는 private이 없는데, 타입스크립트에는 추가된 기능!
추상 메소드
추상메소드는 추상화에서 선언만 해준다.
기능은 상속 받은곳에서 {} 해줘서 구현
call signature 처럼 선언할때 안에 인자가 타입을 정해줘야하고,
리턴이 있을 경우, 리턴 타입도 정해줘야한다
string으로 리턴값 했는데, void로 리턴되어있어서 에러
protected
외부로부터 보호하려면 private과 protected를 쓴다
private는 직접 선언한 클래스에서만 사용 가능하게 하는 것
public은 상속받으면 직접 선언안해도 사용 가능
protected는 직접 사용은 못하지만, 상속받은 곳에서 메소드로 안에서 사용 가능
하지만 getNickName 메소드처 처럼 상속받고 쓰면
사용가능하다
객체의 타입을 정해주기
객체의 property를 모르고 타입 선언만 미리 해줄때
test
type Words = {
[key:string]:string
}
class Dict {
private words:Words
constructor(){
this.words = {}
}
add(word:Word){
if(this.words[word.term] === undefined){
this.words[word.term] = word.def;
}
}
def(term:string){
return this.words[term]
}
}
class Word {
constructor(
public term:string,
public def : string
){}
}
const kimchi = new Word("kimchi", "맛있다")
const dict = new Dict()
dict.add(kimchi)
dict.def("kimchi")
반응형
'Frontend > HTML, CSS, DOM, jQuery' 카테고리의 다른 글
TailWindCSS) Set-up (0) | 2022.07.25 |
---|---|
4. TypeScript(타입스크립트) Interface (0) | 2022.06.18 |
2. TypeScript(타입스크립트) 함수의 type 사용, 다형성 (0) | 2022.06.12 |
1. TypeScript(타입스크립트) type 만들기, type 종류 (0) | 2022.06.11 |
padding 때문에 사이즈 width가 더 커질때 'box-sizing' 주기 (0) | 2021.12.19 |