본문 바로가기
728x90
반응형

TypeScript6

[TS] ts프로젝트 생성하기 터미널에서 npm init -y를 한다. package.json에서 main은 지우고 script는 비워두기 tsconfig.json 파일 만들어준다. (직접 만들어주면 된다) include 배열에는 우리가 자바스크립트로 컴파일하고 싶은 모든 디렉토리를 넣어줄 것이다. compilerOptions를 만들어주고 이 안에는 outDir을 넣어줄 것인데 얘는 자바스크립트 파일이 생성될 디렉터리를 지정한다. -> 타입스크립트에게 자바 스크립트 파일을 어디에 만들지 알려줘야 한다. 다시 package.json으로 돌아가서 scripts에 "build":"tsc" 추가 터미널에 npm run build하면 tsc가 작동하는 것을 볼 수 있다 그러면 ts코드가 js코드로 바뀐다!! target tsconfig.jso.. 2022. 6. 29.
[TS] Classes / Intefaces Class constructor constructor안에 있는 private firstName은 자바에서 this.firstName=firstName과 같다. 추상 클래스 다른 클래스가 상속받을 수 있는 클래스이다. 이 클래스는 직접 새로운 인스턴스를 만들 수 없다. 추상 클래스 안에 메서드를 만들어보자! 그렇다면 추상 메서드는 어떻게 만들 수 있을까? 메소드를 클래스 안에서 구현하지 않으면 된다. getFullName을 예시로 들면 return 구문이 '구현'에 해당한다. 즉, 추상메서드가 되려면 return 코드를 작성하지 않으면 된다. 추상 클래스 안에 추상 메서드를 만들 수 있다. 메소드를 구현해서는 안되고 대신에 메소드의 call signature만 적어줘야 한다! 여기서 구현하지 않았다는 것을.. 2022. 6. 29.
[TS] Call Signatures / Overloading / 다형성 / Generics Call Signature Call Signature란 함수의 매개변수와 반환타입을 모두 type으로 미리 선언하는 것이다. type alias를 통해 call signature을 구현해봤다. 정확히 말하면 노란색 형광펜 친 부분이 call signature인데 우리가 타입스크립트에게 이 함수가 어떻게 호출되는지 설명해준다. 이미 type alias에서 매개변수 타입을 Add로 지정했기 때문에 add 함수에서는 매개변수 타입지정이 따로 필요 없는 것이다. (이미 타입이 Add인것을 알기 때문에!!) 그리고 반환 타입은 Add라는 타입으로 지정해준다. ++) 화살표 함수의 경우 변수선언 함수이름 : 반환타입 =(매개변수) => 반환하는 것 Overloading 아까 말했던 Call Signature도 이런.. 2022. 6. 27.
[TS] 타입스크립트의 타입들(2) read-only 속성 name에 readonly 속성을 넣어줬는데 name을 수정하려고 하면 TS가 에러메세지를 전달할 것 이다. 약간 c++의 접근제어 지시자 느낌이라고 생각하면 될 듯하다. 자 다시 복습해보자. name: string은 매개변수 타입이 string이라고 지정해준 것이고 콜론 다음에 Player는 리턴 타입이 Player라고 지정해준 것이다. name에 접근하려고 하면 타입스크립트가 에러메세지를 보낸다. readonly가 붙지 않았을 때는 배열에 push가 가능하다. readonly 속성이 들어가면 push가 불가능하다. filter나 map은 가능하다. 이것은 배열을 바꾸지 않기 때문이다. Tuple 튜플은 array를 생성하게 한다. 최소한의 길이를 가져야 하고 특정 위치에 특정 .. 2022. 6. 26.
728x90
반응형