5.5 필드 접근(Field Access)

5.5 필드 접근(Field Access)

필드 접근은 점 . 다음에 필드 이름을 붙여 표현합니다.

object.fieldName

이 구문은 pack.Type 형태로 패키지 안의 타입에 접근할 때도 사용됩니다.

타이퍼는 접근된 필드가 실제로 존재하는지 확인하고, 필드의 성격에 따라 변환을 적용할 수 있어요. 필드 접근이 모호하면 해석 순서(resolution order)를 이해하는 것이 도움이 됩니다.

Haxe 4.3.0 이후 — Null-safe 필드 접근은 ?. 연산자로 표현합니다. 이런 접근은 객체가 먼저 null이 아닌지 검사한 뒤에만 주어진 필드에 접근합니다. 객체가 null이면 전체 표현식은 null 값을 갖습니다.

object?.fieldName

이것은 대략 다음과 같습니다:

(object != null ? object.fieldName : null)

하지만 object는 두 번 평가되지 않습니다.

Null-safe 필드 접근은 연결(chained)될 수 있어, 각 단계가 null일 수 있는 깊게 중첩된 데이터에 훨씬 깔끔하게 접근할 수 있게 해줍니다. 예를 들어 동적으로 타입된 언어의 extern을 다룰 때 그럴 수 있어요.

출처: Field Access

본문

기본 필드 접근

필드 접근은 객체.필드이름 형태입니다. 패키지의 타입 접근(pack.Type)에도 같은 구문이 쓰입니다. 타이퍼는 필드 존재를 확인하고 변환을 적용할 수 있어요.

null-safe 접근

Haxe 4.3의 ?. 연산자는 객체가 null이 아니면 필드에 접근하고, null이면 전체가 null이 돼요. 객체는 두 번 평가되지 않고 연결이 가능합니다.

더 알아보기