이항 및 삼항 연산자는 각각 2개와 3개의 피연산자를 사용하는 연산자입니다. 결과는 두 가지 값 중에서 선택됩니다.
구문
삼항 연산자
boolean ? allType : allType
이항 연산자
allType ?: allType
삼항 연산자
삼항 선택자는 3개의 피연산자를 포함하는 연산자입니다. 첫 번째 피연산자는
boolean
이어야 합니다.
나머지 2개의 피연산자는 모든 유형이 될 수 있습니다. 마지막 피연산자는 앞선 피연산자의 결과 값에 따라 연산의 최종 결과가 결정됩니다.
boolean ? value if true : value if false
-
불리언 값은 다음과 같습니다.
- 값
- 데이터
- Blogger 표현식 (중첩 연산)의 결과
-
다른 값은 모든 유형이 될 수 있습니다.
- 값
- 데이터
- Blogger 표현식 (중첩 연산)의 결과
-
연산은 최종 결과 유형이 될 값을 허용하는 다른 연산에 중첩이 될 수
있습니다. 즉, 삼항 연산자가 유형이 숫자인 연산을 선택하는 경우 상위 연산은
NUMBER
유형의 값을 허용해야 합니다.
이항 연산자
이항 연산자는 2개의 피연산자를 포함하는 연산자입니다. 2개의 피연산자는 모든 유형이 될 수 있습니다.
값이 비어 있지 않은 경우 첫 번째 피연산자가 기본 결과가 됩니다. 두 번째 피연산자는 첫 번째 피연산자의 값이 비어 있지 않은 경우 결과가 됩니다.
value 1 if not empty ?: Value 2 if value 1 is empty
-
값은 모든 유형이 될 수 있습니다.
- 값
- 데이터
- Blogger 표현식 (중첩 연산)의 결과
-
연산은 연산의 최종 결과 유형이 될 값을 허용하는 다른 연산에 중첩이 될 수
있습니다. 즉, 이항 연산자가 유형이 숫자인 연산을 선택하는 경우 상위 연산은
NUMBER
유형의 값을 허용해야 합니다.
몇 가지 예
삼항 연산자 - 문자열
<b:with value='data:blog.isPrivate ? "비공개" : "공개"' var='status'>
<b:eval expr='"이 블로그는 " + data:status + " 상태 입니다."'/>
</b:with>
삼항 연산자 - 숫자
<b:with value='data:blog.isPrivate ? 10 : 5' var='myNumber'>
<b:eval expr='data:myNumber'/>
</b:with>
삼항 연산자 - 배열
<b:loop value='data:view.isHomepage ? data:posts limit 5 : data:posts' var='post'>
</b:loop>
이항 연산자 - 문자열
<b:eval expr='data:blog.pageName ?: data:blog.title'/>
공통 포함(Common Inclusion)에서
<b:loop value='data:widget.type == "PageList" ? data:links : data:posts' var='item'>
<a expr:href='data:item.href ?: data:item.url'>
<b:eval expr='data:item.title'/>
</a>
</b:loop>
다른 연산자
-
+ (concatenate)
-
+ (addition)
-
- (substraction)
-
* (multiplication)
-
/ (division)
-
% (modulus)
-
?: (selector)
-
all
-
and (&&)
-
any
-
appendParams
-
contains (array)
-
contains (string)
-
count
-
eq (==)
-
filter
-
first
-
format
-
fragment
-
gt (>)
-
gte (>=)
-
in
-
limit
-
lt (<)
-
lte (<=)
-
map
-
neq (!=)
-
none
-
not (!)
-
offset
-
or (||)
-
params
-
path
-
resizeImage
-
select
-
Skip
-
snippet
-
sourceSet
-
take
-
to
-
where