인프런 커뮤니티 질문&답변

김밍님의 프로필 이미지
김밍

작성한 질문수

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

타입 단언

섹션3 타입단언 Non Null단언 예제코드 작성 중 질문사항 있습니다.

작성

·

436

0

type Post = {
    title: string;
    author?: string; // 익명 작성도 가능하게 선택적 프로퍼티로 정의함.
}

let post = {
    title: "게시글",
    author: "김감자",
};

const len: number = post.author.length;

마지막 줄에서 post.author.length;로 했을때 선생님께서는 post.author?.length로 떴는데 제 VSCode에서는 자동적으로 변하지 않고 위에 코드블럭에 기재해놓은것처럼 그냥 저렇게 가만히 있습니다... restart를 해줘도 아무런 변화가 없는데 혹시 이것과 관련해서 문제점 파악이 안되어서 질문 남겨드립니다.

답변 2

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.
휴식 일정과 세미나 일정이 연달아 겹쳐 답변이 좀 지연되었습니다.

제 강의 영상중에는 에디터가 자동으로 옵셔널 체이닝을 걸어주더군요
author 프로퍼티가 undefined 일 수도 있기 때문에 그렇게 되는 것 같습니다.

이는 코드나 환경설정의 문제는 아니니 그대로 진행하셔도 무방합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

제가 보기에는 문제는 없어보입니다. 코드 상에서 post.author의 값이 undefined이거나 null이 들어올 가능성이 있어서 Optional Chaining(?.)을 사용하면 좀 더 안전한 코드가 됩니다. 하지만 코드에 Optional Chaining을 사용하지 않아도 컴파일 에러는 발생하지 않으므로 작동은 합니다.

혹시 VSCode에서 적용되지 않아서 그런 건지, TypeScript를 제대로 설치하지 않아서 그런 건지 확인해보시는 것도 한번 살펴보시길 추천드립니다.

도움이 되셨길 바랍니다. 감사합니다.

김밍님의 프로필 이미지
김밍

작성한 질문수

질문하기