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/maxif max != 00max == 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
당신이 언급하는 것은 삼원 연산자라고 불리며, 그것은 본질적으로 기본이다.if3진 연산 내의 코드 블록이 유효한 경우 동작을 실행하도록 기술할 수 있는 조건 체크. 그렇지 않은 경우 폴백으로 기본 설정됩니다.
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 |