코드노트

typescript Primitive Type 알아보기 본문

Code note

typescript Primitive Type 알아보기

코드노트 2022. 6. 14. 00:33

Primitive Type

- 오브젝트, 레퍼런스 형태가 아닌 실제 값을 저장하는 자료형

- 프리미티브 형의 내장 함수를 사용 가능한것은 자바스크립트 처리 방식 덕분

- 리터럴 값으로 Primitive 타입의 서브타입을 나타낼 수 있다.

 

Type Casign

- TypeScript의 핵심 Primitive type은 모두 소문자이다.

 


boolean

let codenote :boolean = true / false;
let codenote :true = true;
let codenote :false = false;

- boolean 소문자로 사용

- true / false

 

 

 

number

let codenote :number = 123;

- javaScript, TypeScript의 모든 숫자는 부동소수점 값

- TypeScript는 16진수 및 10진수 리터럴 외에도, 2진수 및 8진수 지원

- NaN

- 1_000_000 과 같은 표기 가능

 

 

 

string

let name :string = 'codenote';

- 다른 언어에서와 마찬가지로 텍스트 형식을 참조하기 위해 ` `, ' ', " " 사용

 

simbol

- ECMAScript2015의 Symbol

- new Symbol로 사용할 수 없음

- Primitive 값을 담아서 사용

- 고유하고 수정불가능한 값으로 만들어준다.

-Symbol메소드로 접근하는게 아니라 변수를 할당하여 사용

- 함수로 사용할때는 대문자, 타입으로 사용할때는 소문자

 

 

 

Undefined & Null / union / void

- 소문자로만 존재한다.

- 컴파일 옵션에서 `--strictNullChecks` 를 사용하면 할당할 수 있다.

- undefined는 void, null은 union type.

- null 타입은 null이라는 값만 가질 수 있다.

- 런타임에서 null은 object. undefined는 undefined.

let v: void = undefined;

let union: string | null = null;

let name :string | number = 123;
let name :string | number = "codenote"; // 2개 다 가능

 

 

array

let name :string[] = ['code', 'note'];
let name :number[] = [123, 123];

tuple

type Member = [number, boolean];

- 무조건 첫번째는 number, 두번째는 boolean 값

 

 

 

 

object

let name :{name : string} = {name : 'code'};

let name :{name? : string} = {}; // ?를 하면 들어오지 않아도 오류가 나지 않음! 옵션!

오브젝트에 지정할 속성이 많으면?

type Member = {
	[key :string] : string
}

let codenete : Member = { name : 'jun', age : '123'}

 - [key:string] : string

 

class에서도 사용 가능

class User {
	name :string;
    constructor(name :string) {
    	this.name = name;
    }
}

 

 

 

type alias

type Name = string | number;

let Name = 'code';
let Name = 123;

- 변수에 담아서 사용가능

- 타입명은 대문자로! 일반 변수와 차별화

function func(x :number) :number {
	return x * 2
}; //

- 파라미터에도 사용가능

- 위 함수는 파라미터로 무조건 number, return 값도 number