개발

    5. 타입스크립트(TypeScript) - Readonly & Tuple

    1. Readonly → 요소들을 읽기 전용으로 만들 수 있다 읽기 전용이 설정된 부분을 수정하려고 시도하면 TS에서 제한 한다 (보호 한다) type Age = number; type Player = { readonly name: string, age?: Age } function playerMaker(name: string) : Player { return { name: name } }; const a = playerMaker("hello"); a.age = 12; a.name = "bye"; // readonly 설정된 name 부분을 수정하려고 하기 때문에 TS에서 오류 발생 const numbers : readonly number[] = [1, 2, 3, 4] numbers.push(1) // ..

    4. 타입스크립트(TypeScript) - Alias(별칭) & return 타입 지정

    const player : { name: string, age?: number } = { name: "hello" } const player2 : { name: string, age?: number } = { name: "Bye", age: 12 } Player과 Player2는 타입이 같고 내용이 다르다 같은 코드가 반복되며 번거로워진다. 이러한 번거로움을 줄이기 위해 사용하는 것이 Alias(별칭)이다 1. Alias 작성 규칙 type Player = { name: string, age?: number } 첫 글자는 대문자로 작성한다 Alias는 오브젝트에만 적용할 수 있는것이 아니다. 사용하고자 하면 어떠한 형식에서도 사용할 수 있다 단, 과하게 사용하면 좋지 않고 코드가 깔끔하고 명확해질 때 까..

    3. 타입스크립트(TypeScript) - 타입(Type)

    1. 사용법 → 콜론 (:)을 써주고 타입을 적으면 된다 let a : number = 1; let b : string = "hello"; let c : boolean = true; let d : number[] = [1, 2]; // = let d = [1, 2]; 2. 선택적 변수 오브젝트가 있다고 가정했을 때, 특정 요소가 어떤 오브젝트에는 없고 어떤 오브젝트에는 있다면 TS에 어떻게 선언해야 하는가? const player : object = { name: "hello" } player.name // 이렇게 한다면 오류가 발생한다. name은 object가 아니기 때문이다. const player : { name: string, age: number } = { name: "hello" } // 이..

    2. 타입스크립트(TypeScript) - 타입 시스템(Type System)

    데이터 타입을 사용하기 위해서는 두가지 방법이 있다 데이터와 변수의 타입을 명시적으로 정의 JS 처럼 변수만 생성하고 넘어감 → 좋은 점은 TS가 타입을 추론해준다는 것 1. 변수만 생성 (TS가 타입을 추론) let a = "hello"; a = "bye"; // 정상적인 코드 (string -> string) a = 1; // TS에서 에러 반환 (string -> number) 이처럼 정의만 해도 TS는 a 가 string 타입이어야 한다는 것을 알게 된다 2. 명시적 정의 let b : boolean = "x"; // TS에서 에러 반환 (b는 boolean으로 명시했는데 string 타입을 넣음) :boolean → 이 부분이 변수 b가 boolean이어야 한다는 것을 알려주는 부분 이것이 Ty..