2.4.3 선택적 필드(Optional Fields)

2.4.3 선택적 필드(Optional Fields)

구조 타입의 필드는 선택적(optional)으로 만들 수 있어요. 표준 표기에서는 필드 이름 앞에 물음표 ?를 붙입니다:

typedef User = {
  age : Int,
  name : String,
  ?phoneNumber : String
}

클래스 표기에서는 @:optional 메타데이터를 대신 사용할 수 있어요:

typedef User = {
  var age : Int;
  var name : String;
  @:optional var phoneNumber : String;
}

Haxe 4.0.0 이후 — 클래스 표기에서도 필드 이름 앞에 물음표 ?를 붙여 선택적 필드로 선언할 수 있습니다:

typedef User = {
  var age : Int;
  var name : String;
  var ?phoneNumber : String;
}

출처: Optional Fields

본문

선택적 필드의 의미

구조 타입의 선택적 필드는 해당 필드가 반드시 존재하지 않아도 된다는 것을 나타내요. 값을 만들 때 그 필드를 생략해도 타입 오류가 발생하지 않습니다.

표기 방법

선택적 필드는 필드 이름 앞에 ?를 붙이거나 @:optional 메타데이터를 사용해 정의해요. Haxe 4.0.0부터는 클래스 표기에서도 ? 접두사를 쓸 수 있어 두 표기법이 통일되었습니다.

더 알아보기