소근소근

typescript 객체 , 인터페이스 , class 본문

typescript

typescript 객체 , 인터페이스 , class

JJureng 2022. 3. 27. 22:34
728x90
반응형
SMALL

노마드 코더 강의를 정리한 글입니다. 참고 사이트 : https://poiemaweb.com/typescript-class

 

타입스크립트에서 객체를 함수의 인자로 넘기기 위해서 타입 지정을 어떻게 해줘야 할까?

 

string, number처럼..

 

interface를 선언해주면 된다.

 

interface

 

sayHi라는 함수에 person이라는 객체를 넘겨주고 싶다.

Human 이라는 인터페이스를 생성하고, 객체의 속성들을 알맞게 선언해주면 된다. 

 

인터페이스도 자바스크립트에는 없는 타입스크립트의 특징이기도 하다. 

컴파일 된 js파일을 보면 인터페이스를 찾을 수 없다. 


 

만약 인터페이스를 js에 넣고 싶다면 class를 사용하면 된다.

class는 코드를 컨트롤 할 수 있게 해주는 강력한 도구이다.

 

class

컴파일 하면 js파일에서  class를 확인할 수 있다. 하지만 public, private(접근 제한자)는 js에서 확인할 수가 없다. 

 

만약 여기서 클래스의 한 속성을 private으로 바꾼다면 클래스 내부에서만 접근할 수 있기 때문에 함수에서 저런식으로 접근하는 것은 불가능하다. 클래스 밖에서 접근하려고 하기 때문이다. 이 경우에는 컴파일이 되지 않는다. 클래스의 속성을 보호할 수 있다는 측면에서 안전하다.

 

cf ) 접근 제한자 

타입스크립트에서 클래스 변수의 접근 제한자를 지정하지 않으면 default 는 public이다. 

접근 가능 public protected private
클래스 내부 O O O
자식 클래스 내부 O O X
클래스 인스턴스 O X X

 

728x90
반응형
LIST

'typescript' 카테고리의 다른 글

tsc-watch 사용하기  (0) 2022.03.27
typescript 시작하기, vsc 실습 방법 , javascript와의 차이점  (0) 2022.03.27