문제

안녕하세요 PHP에서 저는 이것을 할 수 있습니다.

$value = 0;
$test = $value === 0 ? 'it is zero!' : 'It is not zero.';
echo $test;

클래식을 사용하지 않고 PHP와 같이 1 줄의 JavaScript에서 어떻게 할 수 있습니까? if - else if 성명?

도움이 되었습니까?

해결책

여전히 JavaScript에서 작동합니다

value = 0;
var test = (value === 0 ? 'it is zero!' : 'It is not zero.');
console.log(test);

산출

it is zero!

다른 팁

이것은 작동해야합니다 :

var value = 0;
var test = (value === 0) ? 'It is zero' : 'It is not zero!';
console.log(test);

그건 그렇고, 그것은 3 배 운영자라고합니다. 많은 언어가 그들을 지원합니다.

거의 정확히 동일합니다.

var value = 0;
var test = (value === 0) ? 'it is zero!' : 'it is not zero';
console.log(test);

산출:

"it is zero!"
(value == 0)?alert('it is zero!'):alert('It is not zero.');

귀하의 $가 Var가된다는 점을 제외하고는 이러한 큰 차이가 없습니다.

선적 서류 비치

나는 항상 인라인에 대한 Ternary를 선호합니다. 나는 개인적으로 더 읽기 쉬운 것을 찾습니다.

var test =(value===0)?'it is zero!':'It is not zero.';
console.log("test check==="+test)

데모 : http://jsfiddle.net/jayeshjain24/eflyf/

JS에서 더 잘 할 수 있습니다.

var value = 0;
console.log(value === 0 ? 'It is zero!' : 'it is not zero');

또는 더 짧은 :

console.log('it is ' + ((value = 0) === 0 ? '':'not ') + 'zero!');

Bang, 3 개의 PHP 라인의 한 줄. 이것에 주목하십시오 ~ 할 것이다 결과 (엄격한 모드로) 오류가 발생하거나 묵시적 글로벌 변수가 생성됩니다. value 존재하지 않는다.
그러나 변수 인 경우 value 이미 존재하고 모든 것이 완벽하게 잘 작동하며 행동은 다음과 같습니다.

var value = 0;
console.log('it is ' + ((value = value || 0) === 0 ? '':'not ') + 'zero!');
//logs it is zero
value = 123;
console.log('it is ' + ((value = value || 0) === 0 ? '':'not ') + 'zero!');
//logs it is not zero

나는 iife를 사용하여 이것을 테스트했습니다.

(function(value)
{//logs it is zero
    console.log('it is ' + ((value = value || 0) === 0 ? '':'not ') + 'zero!');
}());
    (function(value)
{//logs it is not zero
    console.log('it is ' + ((value = value || 0) === 0 ? '':'not ') + 'zero!');
}(123));
(function(value)
{//logs it is zero
    console.log('it is ' + ((value = value || 0) === 0 ? '':'not ') + 'zero!');
}(0));

Loggin에서 코드를 피하기 위해 it is zero 값이 정의되지 않았거나 거짓으로 :

(function(value)
{//coerce to numbner
    console.log('it is ' + (value === 0 || value === '0' ? '':'not ') + 'zero!');
}());

이것은 로그 만 기록합니다 it is zero 만약에 value 다음 중 하나입니다 '0' 또는 0. 그것은 같은 값에 대한 것이 아닙니다 false, undefined, null...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top