반응형

TypeScript 7

[TS] Index Signature in class

class 안에서 오브젝트를 만들 때 동적 처리를 가능하게 하기 위해 사용합니다. School이라는 class가 있고 그 안에 반, 반에 학생들의 성별에 관한 오브젝트를 만들 때, 새로운 변수를 만들 때마다 계속해서 선언해줘야 하는 불편함이 있습니다. 이러한 상황에서 index signature를 활용하면 간편하게 특정 오브젝트를 만들어 낼 수 있습니다. 일일이 변수 선언을 하지 않고, [index:string] : string을 활용하면 동적으로 변수 선언을 수행할 수 있습니다.

TypeScript 2022.07.12

[TS] readonly 프로퍼티

readonly 프로퍼티를 사용하여 변수를 만들어주면, 값이 초기화 되는 영역을 제외 하고는 값을 변동시킬 수 없습니다. name이라는 변수에 readonly 프로퍼티를 사용해주면, 외부에서 name변수의 값을 바꾸려고 할 때 에러가 뜨는 것을 알 수 있습니다. 이는 private으로 접근 제어자를 설정해도 똑같습니다. 이처럼 클래스 내부의 함수에서 값을 재할당 하려고 해도 에러가 뜨는 것을 알 수 있습니다. readonly 프로퍼티가 사용된 변수는 그 변수를 초기화 하는 과정에서만 수정할 수 있는데, 1) 변수를 선언할 때 2) constructor을 사용할 때 바꿔줄 수 있습니다. 아무런 에러가 뜨지 않는 것을 볼 수 있습니다.

TypeScript 2022.07.12

[TS] Getter & Setter

프로퍼티를 가져오거나, 설정할 때 사용하는 함수를 getter, setter라고 한다. getter와 setter의 차이점은 getter는 말 그대로 값을 얻어오는 함수이기 때문에 return 값이 있어야 하고, setter는 값을 설정해주는 함수이기에, 인자가 있어야 한다. 프로퍼티의 이름과 get & set 함수의 이름에서 충돌이 나지 않기 위해 프로퍼티의 이름을 _name으로 설정하였습니다. get 함수에서는 리턴값으로 this._name을 받아오고, set 함수에서는 this._name에 새로운 값을 할당 받을 수 있도록 해줍니다.

TypeScript 2022.07.07

[TS] 접근제어자(public, private)

typeScript의 클래스 접근 제어자인 public과 private에 대해서 간단히 알아봅시다 public은 class 외부에서도 접근이 가능함을 의미하고, private은 class 내부에서만 접근이 가능합니다. 아무런 접근 제어자를 설정하지 않는다면 public이 default값으로 설정됩니다. class city { public name: string = Busan, // 프로퍼티 public age: number; public constructor (age: number) { // 생성자 this.age = age; } public init() { // 메소드 } } 소스코드에서 볼 수 있듯이 접근 제어자는 클래스 내부 모든 곳에서 설정이 가능합니다. 프로퍼티, 생성자, 메소드 전부 publi..

TypeScript 2022.07.04

[TS] compileOptions (outDir,rootDir)

typeScrupt의 compileOptions 중에서 자주 쓰이는 outDir과 rootDir에 대해서 알아봅시다 !! outDir이란, 컴파일 후 생성되는 js파일들을 모아두는 폴더명을 지정할 수 있습니다. TS는 파일을 컴파일 해주는 작업이 꼭 필요한데, outdir을 설정해두면 outdir로 지정된 특정 폴더의 계층구조를 기준으로 컴파일된 파일이 생성됩니다. 프로젝트를 하나보면 컴파일 된 파일들을 하나로 모아두는 경우가 많은데, outdir을 정해두면 간편하게 ts 파일을 컴파일 할 수 있습니다. rootDir이란, 가장 상위계층에는 있는 root 폴더를 지정할 수 있습니다. 보통 소스폴더를 특정 dir로 지정할 수 있는데, 그 폴더을 rootdir로 지정해주면 그 폴더를 기준으로 계층구조가 형성..

TypeScript 2022.07.04

[TS] Null & Undefined type

Null type null이라는 값으로 할당된 것을 null이라고 합니다. 있긴 하지만, 사용할 준비가 아직 되지 않은 상태 null이라는 타입은 null이라는 값만 가질 수 있습니다.(union으로 다른 타입도 함께 받을 수는 있음) 런타임에서 typeof를 하게 되면, object로 나옵니다. let n: null = null; console.log(n); // null console.log(typeof n); // object Undefined type 값을 할당하지 않은 변수 사용할 준비가 되지 않은 상태 object의 property가 없을 때도 undefined 런타임에서 typeof를 하게 되면, undefined로 나옵니다. let u:undefined = undefined; console..

TypeScript 2022.06.30

[TS] Typescript TS6053: file '.ts' not found error

Typescript 환경을 처음 설정할 때 제목과 같은 오류를 만날 수 있다 !! 1. visual stuido code 기준 터미널에서 typescript 패키지를 설치합니다. npm i typescript 2. 설치하고 난 후에 만들어 두었던 폴더 이름으로 tsc 폴더이름.ts를 했을 때 tsc '폴더이름.ts' 3. 폴더이름.ts 파일을 찾을 수 없다는 에러가 발생하는 것을 볼 수 있습니다. 그 이유는 컴파일하고자 하는 파일을 만들지 않아서 그렇습니다. 4. 그렇기에 vsc에 자신이 컴파일하려고 하는 ts 폴더를 먼저 생성한 후 tsc '폴더이름'.ts 하게 되면 ts파일을 컴파일 할 수 있는 js 파일이 함께 생성됨을 확인할 수 있습니다.

TypeScript 2022.06.29
반응형