1) 타입추론(Types by Inference) 이해 및 실습
D:\TypeScript\2-TS-Basic 폴더내에 type-inference.ts파일을 생성 합니다.
A) 타입추론 예시코드 코딩하고 실행하기
-하기 코드와 같이 코딩을 진행합니다.
-자세한 내용은 주석을 참고바랍니다.
-type-inference.ts
** 에러확인을 위해 에러코드예시의 주석을 해제하고 실행하세요.
//Case1)변수 타입추론 개념 이해하기
//변수의 타입을 지정하지 않아도 값을 명시적으로 할당하면 타입 추론에 의해 타입이 결정됩니다.
var memberName = "강창훈";
var price = 5000;
var isMale = true;
//price의 값을 5000 숫자형으로 명시적 할당했기 떄문에 타입스크립트는 타입추론에 의해 숫자로 자동인식함
console.log("회원명은 타입추론에 의해 문자로 자동 인식:", memberName.length);
//에러코드예시: 아래 문자열 타입에서만 제공하는 length속성이나 substring 함수는 숫자 속성에서는 타입에러를 발생시킴
//console.log("가격은 타입추론에 의해숫자 로 자동 인식:", price.length);
//console.log("가격은 타입추론에 의해숫자 로 자동 인식:", price.substring(0, 2));
//console.log("성별은 타입추론에 의해 불린형으 로 자동 인식:", isMale.length);
//Case2)객체 타입추론 개념 이해하기
//객체의 속성 타입을 지정하지 않고 값을 명시적으로 할당하면 객체 속성의 타입도 타입추론에 의해결정됨
var user = {
id: 1,
name: "John Doe",
email: "john.doe@example.com",
};
console.log("회원명은 타입추론에 의해 문자로 자동 인식:", user.name.length);
//에러코드예시:아래코드는 타입에러 발생 id는 숫자형인데 숫자형 length속성이 없어서 발생
//console.log("회원아이디는 타입추론에 의해숫자 로 자동 인식:", user.id.length);
//Case2)함수의 매개변수를 타입지정한 경우 반환값 타입을 지정하지 않아도 결과값을 타입추론하여 숫자형으로 결정함
//함수의 매개변수는 타입추론이 불가하다.
function plus(a: number, b: number) {
return a + b;
}
//함수의 반환값이 숫자형이므로 length 속성을 사용할 수 없음
console.log(plus(1, 2));
//에러코드예시:함수결과값 타입을 지정하지 않으면 타입추론이 되어 에러발생
//console.log(plus(1, 2).length);
//컴파일 및 실행 명령어
//tsc --strictNullChecks type-inference.ts
//node type-inference.js
-코딩을 모두 진행 저장하고 아래 명령어를 통해 터미널창에서 ts파일을 컴파일하고 컴파일 결과.js파일을 실행합니다.
D:\TypeScript\2-TS-Basic
tsc --strictNullChecks type-inference.ts
node type-inference.js
B)코딩 핵심 내용 설명
-함수의 매개변수를 타입지정한 경우 반환값 타입을 지정하지 않아도 결과값을 타입추론하여 숫자형으로 결정함
-함수의 매개변수는 타입추론이 불가하다.