const userName1 = "Bob"

const로 선언한 변수는 변하지 않는 값이므로,

type이 “Bob” 자체이다.

const useName1: “Bob”

let userName2 = "Tom"

let으로 선언한 변수는 변할 수 있는 값이므로, const 보다는 넓은 범위의 type이 지정된다.

let userName2: string


✏️ 예제 1.string

type Job = "police" | "developer" | "teacher"

interface User {
	name: string;
	job: Job;
}

const user: User = {
	name: "Tom";
	job: "developer"
}

❌
const user: User = {
	name: "Tom";
	job: "student"
}
//Type  "student"  is not assignable to type  Job 

type Job에 지정한 type만 사용할 수 있다.

✏️ 예제 2.number

interface HighSchoolStudent {
	name: number | string;
	grade: 1 | 2 | 3;
}