[TS] 3.Any,void,never 타입

신연우·2023년 3월 13일
0

TS

목록 보기
4/12

Any 타입

  • Any 타입의 변수에는 어떤 타입의 값이든 할당 가능
    let value:any = 5;
  • 사용하지 않는 것이 좋습니다.(하지만 실무에선 쓴다고 합니다 ㅎㅎ..)
  • noImplicitany 옵션을 키면 any 타입이 허용이 안됨.

void 타입

  • 어떤 타입도 존재할 수 없음
  • 함수에서 리턴값이 없을 때 사용
function someFunc():void {
console.log("hello");
}

Never 타입

  • 어떠한 값도 가질 수 없는 타입.
  • 공집합
let value:never;
value = undefined;
value = null;
value = "hello";
value = 5;

TypeScript에서 값이 없을 수도 있을 때 if문 or 변수뒤에 ?를 줌으로써 해결

const loggedInUsername: string = "james";

const users = [{name: "harry", age: 20},{name: "porter", age:17}];
const loggedInUser = users.find((u) => u.name === loggedInUsername)

일 때.users의 요소중엔 name이 james인 값이 존재하지 않으므로

const loggedInUsername: string = "james";

const users = [{name: "harry", age: 20},{name: "porter", age:17}];

const loggedInUser = users.find((u) => u.name === loggedInUsername)
console.log(loggedInUser.age) // 존재하지 않음

를 하면 에러가 남

그럴 땐

const loggedInUsername: string = "james";

const users = [
{name: "harry", age: 20},{name: "porter", age:17}
];
const loggedInUser = users.find((u) => u.name === loggedInUsername)

방법 1

if(loggedInuser === undefined){
console.log("no user")}else if{
console.log(loggedInUser.age)}

방법 2

console.log(loggedInuser?.age)

를 하면 값이 없을땐 undefined가 뜬다.

profile
야금야금 똑똑해지자

0개의 댓글