[TS] ?: optional 속성

HOU·2023년 12월 7일
0

JavaScript

목록 보기
20/20

?:란?

Typescript에서 선택적인(optional) 속성을 나타내는 문법.
이 문법을 사용하면 해당 속성이 값이 제공되지 않아도 되는 선택적인 속성으로 정의가 가능하다.

기본적으로 Typescript에서 클래스나 인터페이스의 속성은 필수적인 값으로 간주된다. 즉, 해당 속성에는 항상 값이 있어야 하고, 값이 없는 경우 오류가 발생한다. 하지만 때로는 속성이 값이 없는 상태로도 유효한 경우가 있을 수 있다. 이럴 땐 선택적(optional) 속성을 사용한다.

속성

위의 글을 읽다보니 속성이란 것이 무엇인지 내 스스로도 정의가 되지 않았다. 속성을 검색해보니 class 또는 interface 에서 정의되는 멤버변수들을 의미한다. 속성은 해당 class 또는 interface의 특징이나 상태를 나타내는 데이터를 저장하고, 해당 데이터에 접근하고 조작하는 역할을 한다.

속성은 클래스 내부에 선언되고, 클래스의 인스턴스에 의해 사용된다. 인스턴스를 생성하면 속성은 해당 인스턴스에 대한 데이터를 저장하게 된다.

?! 코드 사용법!

class Person {
  // 아래의 name과 age가 속성
  name?: string;
  age: number;

  constructor(age: number) {
    this.age = age;
  }
}

const person1 = new Person(25); // name 속성이 제공되지 않아도 오류가 발생하지 않음
const person2 = new Person(30);
person2.name = 'John'; // name 속성에 값을 할당할 수도 있음

아래처럼 string이 값이 없어도 에러가 발생하지 않는다. 이런 형태로 값이 들어오지 않아도 에러를 피할 수 있다.

profile
하루 한 걸음 성장하는 개발자

0개의 댓글