JavaScriptのvoid演算子と3つの等号

1994 ワード

全等号と非全等号
等号と非等号の同類演算子は全等号と非整数号です.この2つの演算子は等号と非等号と同じです.ただし、それらは等号を検査する前にタイプ変換を行いません.
全等号は3つの等号で(==)を表し、タイプ変換演算数が等しくない場合にのみtrueに戻ります.
たとえば:
var sNum = "66";
var iNum = 66;
alert(sNum == iNum);	//   "true"
alert(sNum === iNum);	//   "false"
このコードでは、最初のalertは等号を使って文字列「66」と数字66を比較し、「true」を出力します.前に述べたように、文字列66は数字66に変換され、他の数字66と比較されるからである.第二のalertは全等号を使って、類型変換がない場合に文字列と数字を比較します.もちろん文字列は数字に等しくないので、「false」を出力します.
全等号ではなく感嘆符に二等号(!=)を加えて表します.タイプ変換演算数が等しくない場合に限って、trueに戻ります.
たとえば:
var sNum = "66";
var iNum = 66;
alert(sNum != iNum);	//   "false"
alert(sNum !== iNum);	//   "true"
ここで、最初のalertは非等号を使用して、文字列「66」を数字66に変換して、第2の演算数66と等しくする.したがって、計算結果は「false」であり、2つの演算数は等しいからである.二つ目のalertで使用されるのは合同ではないです.この演算は「sNum」と「iNum」は違いますか?はい、sNumは文字列ですから、iNumは数字です.もちろん違います.
 
*つまり==はまずタイプの検査をしますが、==は単純な値の比較だけで、このように理解できます. 
 
void
 
void演算子は、任意の値に対してundefinedを返します.この演算子は通常、出力すべきでない値、例えばHTMLの<a>要素からJavaScript関数を呼び出した場合に使用される.この点を正しく行うには、関数は有効値を返しません.そうでないと、ブラウザはページを空にして関数の結果だけを表示します.たとえば:
<a href="javascript:window.open('about:blank')">Click me</a>
この行のコードをHTMLページに入れると、その中のリンクをクリックすると、画面に「[object]」と表示されます.TIY
これはwindow.openの方法が新しく開いたウィンドウの引用を返したからです.このオブジェクトは表示する文字列に変換されます.
この効果を避けるためには、void演算子でwindow.open関数を呼び出すことができます.
<a href="javascript:void(window.open('about:blank'))">Click me</a>
これはWindows.open()を呼び出してundefinedに戻ります.有効値ではなく、ブラウザウィンドウに表示されません.
 
*戻り値のない関数が本当に戻ってくるのはundefinedだと覚えてください.