옵셔널프로퍼티 연산자, non-null 단언연산자

lee jae hwan·2022년 10월 16일

javascript

목록 보기
107/107

옵셔널프로퍼티연산자 ?

어떤값이 undefined타입이 될수 있다는 유니언타입임을 명시하는 연산자다.

  test(arg?:string){
    console.log(arg?.charAt(1));
  }

타입을 명시하기위해 사용되었다


arg.charAt(1);
arg가 undefined이면 에러가 발생되고 에러가 처리되지 않으면 스크립트는 중단된다.

arg?.charAt(1)
arg가 undefined이더라도 에러가 발생하지않고 undefined를 반환한다.

표현식에서 ?가 사용되면 에러를 발생시키지 않게 하기 위해 사용한다.


arg!:string;

arg는 string타입으로 undefined가 아님을 명시한다.

arg!.length

arg는 length프로퍼티를 가진 객체임을 사용자가 단언하는 것이다.

length프로퍼티가 없어서 에러가 발생하면 전적으로 사용자의 몫이다.

0개의 댓글