質問

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);

ちなみに、それは三元演算子と呼ばれます。 多くの言語がそれらをサポートしています.

ほぼまったく同じです。

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

出力:

"it is zero!"

JavaScriptは、三元演算子もサポートしています。

https://developer.mozilla.org/en-us/docs/web/javascript/reference/operators/conditional_operator

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

あなたの$がvarになることを除いて、そのような大きな違いはありません。

ドキュメンテーション

私はいつもインラインのためにターナリーを好みます。私は個人的にそれをより読みやすいと感じています。

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ラインの1つのライン。これに注意してください 意思 結果(厳密なモードで)スローされているエラー、または作成されている暗黙のグローバル変数のいずれかが作成されます。 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 値が未定義の場合、またはfalsy:

(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