타입스크립트 any 타입 예제
~~~
타입스크립트를 사용할 때 가끔씩 변수나 함수의 타입을 무엇으로 지정해야 할지 난해해지는 상황이 생길 수 있다.
( 이런 경우 거의 없겠지만, 숫자 타입을 사용할 때 간혹 이런 일이 생긴다. )
변수나 함수 등의 타입을 임의로 선택할 수 있는 방법은 any 타입을 사용하는 것이다.
any를 지정하면 문자열, 숫자, 객체 등 여러 값을 자유롭게 저장할 수 있다.
자바스크립트의 var 와 비슷하다고 해야 할까 ??
그렇기 때문에, 타입 검사도 함께 약해지며 잘못된 코드가 컴파일 과정에서 발견되지 않을 수 있다.
즉, 사용을 해도 괜찮지만, 가급적 사용하지 않는 것을 권장하기도 한다.
~~~
let value: any;
value = "안녕하세요";
value = 100;
value = true;
value = { name: "민수" };~~~
let age: number = 20;
age = 30; // 정상
age = "서른"; // 오류~~~
let age: any = 20;
age = "서른"; // 컴파일 오류 없음
age = true; // 컴파일 오류 없음~~~
let data: any = "TypeScript";
console.log(data);~~~
data = 100;
data = false;
data = ["TypeScript", "JavaScript"];~~~
function printValue(value: any): void {
console.log(value);
}
printValue("문자열");
printValue(100);
printValue(true);
printValue({ name: "홍길동" });~~~
function printUpperCase(value: any): void {
console.log(value.toUpperCase());
}
printUpperCase("hello"); // HELLO
printUpperCase(100); // 실행 중 오류 발생 가능~~~
function getUser(): any {
return {
name: "김철수",
age: 30,
};
}
const user = getUser();
console.log(user.name);
console.log(user.address.city);~~~
interface User {
name: string;
age: number;
}
function getUser(): User {
return {
name: "김철수",
age: 30,
};
}
const user = getUser();
console.log(user.name);
// console.log(user.address.city); // 타입 오류~~~
const values: any[] = [
"TypeScript",
100,
true,
{ category: "programming" },
];~~~
const values: (string | number | boolean)[] = [
"TypeScript",
100,
true,
];~~~
const user: any = {
name: "이영희",
age: 25,
};
console.log(user.name);
console.log(user.email);
console.log(user.profile.address);~~~
type User = {
name: string;
age: number;
email?: string;
};
const user: User = {
name: "이영희",
age: 25,
};
console.log(user.name);
console.log(user.email);~~~
function logMessage(message: any): void {
console.log(message);
}~~~
function logMessage(message) {
console.log(message);
}~~~
댓글
댓글 쓰기