TIL [Typescript] Nomad 강의내용정리(6강~12강)

haileyself·2019년 10월 4일
0

Interface는 typescript에서 쓰이는 개념이지만, js에서는 해당 내용을 컴파일 하지 않는다.

Interface와 비슷한 기능을 하지만, js에서도 컴파일 되는 것은 바로 Class!

: Interface 가 typescript 측면에서는 더 안전하다, 하지만 리액트나 node, express와 같은 것을 사용할 때는 interface가 아닌 class를 사용하게 될 것

js에서의 클래스 형식과 비슷하지만, public 혹은 private을 정해줘야함!
js에서 클래스를 통해 객체를 만드는 것과 같이 constructor를 사용해서 각 인자들을 넣어줘야 한다.

  • public : class 안,밖으로 지정해놓은 값을 사용할 수 있음
  • private : class 안에서만 사용할 수 있음
    변수를 보호하고자 하거나, 클래스함수 밖에서 해당 인자가 호출되지않기를 원한다면 privated으로 설정하면 됨 !
    private으로 부른 값을 밖에서 사용하려고 하면 에러메시지가 뜸

Human class의 age type을 private으로 설정하면,

image.png

이러한 에러메시지가 뜨면서 함수가 실행되지 않는다.

<참고 class>
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes

Static method

: method가 class안에 정의되었음에도 불구하고 class가 생성되지않았어도 사용할 수 있는 method !

Block클래스를 생성하지 않았어도 Block의 static method인 calculateBlockHash 를 사용가능하다!

  • typescript를 통해서 함수의 결과 값도 미리 정해주고, 해당 타입이 아닐 때는 새로운 배열에 push되지않게도 만들 수 있음 !

데이터타입을 만족하면, 새로운 block들이 계속 추가된다.

image.png

profile
Keep on my way ! :)

0개의 댓글