널 병합 연산자

널 병합 연산자(null coalescing operator)는 여러 프로그래밍 언어의 기본 조건식 구문의 일부인 이항 연산자이다. 버전 2.0 이후[1]C 샤프,[2] 버전 1.12.0 이후의 다트,[3] 버전 7.0.0 이후의 PHP, 은 버전 5.10부터 논리 정의[4] 또는, 파워셸은 7.0.0부터[5], 스위프트[6]는 nil-coalescing 연산자라는 이름으로 지원된다.

구현마다 동작이 다르지만 널 병합 연산자는 일반적으로 가장 왼쪽 피연산자가 존재하고 널이 아닌 경우 결과를 반환하고, 그렇지 않으면 가장 오른쪽 피연산자를 반환한다. 이 동작을 통해 더 구체적인 값을 사용할 수 없는 경우 기본값을 정의할 수 있다.

삼항 조건부 if 연산자 x ? x : y. 그러나 x ?: y로 사용되는 이진 엘비스 연산자와 마찬가지로 널 병합 연산자는 이진 연산자이므로 피연산자를 최대 한 번 평가한다. 이는 x 평가에 부작용이 있는 경우 중요하다.

같이 보기

각주

  1. “ECMA-334, 3rd edition, June 2005” (PDF). 《ecma-international.org》. Ecma International. June 2005. 63쪽. 
  2. “?? and ??= operators - the null-coalescing operators”. 《Microsoft Learn》. 2023년 7월 27일. 
  3. “Conditional expression”. 《Dart》. 
  4. “perlop - Perl expressions: operators, precedence, string literals”. 《Perldoc Browser》. 
  5. “PowerShell 7 Preview 5”. 《PowerShell》 (미국 영어). 2019년 10월 23일. 2020년 2월 15일에 확인함. 
  6. “The Swift Programming Language (Swift 5): Basic Operators: Nil-Coalescing Operator”. 《docs.swift.org》.