JavaScript 물음표 및 콜론
나는 다음과 같은 말을 우연히 발견했다
hsb.s = max != 0 ? 255 * delta / max : 0;
의 기능?
그리고.:
이 문맥에서 무엇을 의미합니까?
그 형식은 다음과 같습니다.condition
?value-if-true
:value-if-false
생각해 보세요?
'그때'로:
"disclosed"로 표시됩니다.
코드는 다음과 같습니다.
if (max != 0)
hsb.s = 255 * delta / max;
else
hsb.s = 0;
알기 쉽게 하기 위해 괄호로 둘러싸인 것은
hsb.s = (max != 0) ? (255 * delta / max) : 0;
반환 또는 반환을 의미합니다.
255*delta/max
if max != 00
max == 0인 경우
이것은, 다음과 같이 괄호로 나타내면, 조금 더 명확할 가능성이 있습니다.
hsb.s = (max != 0) ? (255 * delta / max) : 0;
첫 번째 괄호 안에 있는 부분을 평가하는 것입니다.결과가 참일 경우 ? 이후와 : 이전 부분이 반환됩니다.false일 경우 : 뒤에 이어지는 내용이 반환됩니다.
hsb.s = max != 0 ? 255 * delta / max : 0;
?
는 3진 연산자입니다.이 기능은if
와 함께:
!=
동일하지 않음을 의미합니다.
그래서 이 줄의 긴 형태는
if (max != 0) { //if max is not zero
hsb.s = 255 * delta / max;
} else {
hsb.s = 0;
}
?: 의 단기 조건입니다.else {}
그리고.if(){}
문제.따라서 코드를 다음과 같이 바꿀 수 있습니다.
if(max != 0){
hsb.s = 225 * delta / max
}
else {
hsb.s = 0
}
? :
이게 삼원 연산자 아닌가요?
var x= expression ? true:false
당신이 언급하는 것은 삼원 연산자라고 불리며, 그것은 본질적으로 기본이다.if
3진 연산 내의 코드 블록이 유효한 경우 동작을 실행하도록 기술할 수 있는 조건 체크. 그렇지 않은 경우 폴백으로 기본 설정됩니다.
3진 연산은 다음 구문으로 기술됩니다.
condition ? exprIfTrue : exprIfFalse
condition
값이 조건으로 사용되는 식입니다.exprIfTrue
조건이 truthy 값(true와 같거나 true로 변환할 수 있는 값)으로 평가되는 식입니다.exprIfFalse
조건이 거짓인 경우(즉, false로 변환할 수 있는 값이 있는 경우) 실행되는 식입니다.
예
에서 문자열을 반환하는 다음 함수를 사용합니다.Yes
함수에 제공된 번호가 짝수이면 반환한다.No
.
function isEven(num) {
return (num % 2 == 0) ? "Yes" : "No";
}
console.log("2: " + isEven(2));
console.log("3: " + isEven(3));
설명.
위의 조작은 다음과 같습니다.
(num % 2 == 0)
| 이것은 심플합니다.if
각 괄호 내의 식이 참인지 여부를 확인하는 문 조건입니다.? "Yes"
작업이 참일 경우 지정된 문자열 리터럴이 이 실행의 결과로 자동으로 반환됩니다.: "No"
이거는else
이 동작의 절, 조건이 충족되지 않으면No
이 반환됩니다.
이거 조심하세요.-1 != true 및 -1 != false이지만 -1은 true로 평가됩니다.날 믿어, 난 그런 일이 일어나는 걸 봤어.
그렇게
- 1 ? "진측" : "거짓측"
「진정한 면」으로 평가하다
언급URL : https://stackoverflow.com/questions/1771786/question-mark-and-colon-in-javascript
'programing' 카테고리의 다른 글
Rails 5 이행 데이터 유형의 문제 (0) | 2022.09.16 |
---|---|
http를 사용하여 VUE의 CORS 문제를 해결하려면 어떻게 해야 합니까? (0) | 2022.09.16 |
VueJ를 사용하여 localhost에서 API 데이터를 가져오는 중s (0) | 2022.09.16 |
로깅 Python 모듈을 사용하여 파일에 쓰는 방법은 무엇입니까? (0) | 2022.09.16 |
vue-router의 기본 옵션 작동 방식 (0) | 2022.09.16 |