| 접근제한자와 getter setter ES6 get set 은 es6 컴파일이 되기때문에 tsconfig.js 에 들어가서 target을 ES6 으로 변경한다 접근제한자 만약 아래와 같은 클래스가 있다고 하자 class UserInfo { name: string; age: number; city: string; constructor(name:string,age: number, city: string){ this.name = name; this.age = age; this.city = city; } } const user = new UserInfo("jae", 25, "seoul"); console.log(user.name, user.age, user.city); user.age = 27; consol..
| null과 undefined undefined undefined 는 두개가있다. 하나는 타입, 하나는 값이다 const un: undefined = undefined; 왼쪽이 타입, 오른쪽이 값이다 undefined는 최하위 계층이라 모든 타입의 특성을 다 갖고 있다 //1. null undefined 같은 값 const un: undefined = undefined; //2. undefined 2개가 있다. //3. 모든 타입의 최하위 계층 interface IMan{ name: string; } function printName(params: IMan){ console.log("printName on!"); console.log(params.name); } //printName({name: "ja..
| never타입 function sendError(): void{ throw{ errorCode: 500, message: "internal server error"}; } const result = sendError(); console.log("result :", result); ⬇️ function sendError(): never{ throw{ errorCode: 500, message: "internal server error"}; } const result = sendError(); console.log("result :", result); never 타입 함수가 항상 예외를 던지거나 무한 루프에 빠져서 결코 정상적으로 종료되지 않는 경우에 사용. "절대로 발생하지 않는 값"을 나타낸다. se..
| 함수타입과 type 함수타입 파라미터의 타입은 아래와 같이 설정했다 function add(a: number, b: number){ return a+b; } add(1,2); 그럼 함수의 return타입은 어떻게 설정해주면될까? function add(a: number, b: number): string{ return String(a+b); } add(1,2); 파라미터 ()소괄호 옆에 달면된다 그러면 return값도 설정한 타입과 동일한 타입으로 반환해줘야한다 만약 아무것도 반환하지 않을때는 어떤 타입을쓸까? 바로 void이다 function add(a: number, b: number): void{ return; } add(1,2); return을 아예안쓰거나 return; 이렇게 사용해야한다 화..
| enum과 literal enum // 성별, 부서코드, 카테고리, ... const category = ""; //웹 앱 // ---기준선 // 서버 function cate(category: any){ if (category==="가전제품"){ console.log("5% discount"); }else if(category==="주방제품"){ console.log("10% discount"); }else { console.log("서버 멈춤"); } } cate(category); 카테고리에 가전제품 또는 주방제품 만 들어가야하는데 저런식으로 의도하지않은 값이 들어갈경우 서버가 멈추게 될 수 있다. 그래서 값을 정해주는 것이 바로 enum 이다 아래처럼 적어야주면된다 // 성별, 부서코드, 카테..