JavaScriptの中の「!!」はどういう意味ですか?

646 ワード




	
	Document
	

		alert(!!undefined)//false
		alert(!!null)//false
		alert(!!0)//false
		alert(!!"")//fase
		
	




jsコードには「!」が使われることがありますが、これは逆と知っています.ブールタイプに対して、その値trueとfalseを交換します.それはブールタイプではないですか?
ブールタイプではない場合、jsは先に値をブールタイプに変換してから反を取ります.
他の種類のブール型ルール:
文字列の種類の値は、空の値(")をfalseに変換し、残りはtrueに変換します.
数字のタイプは0をfalseに変換します.残りはtrueです.
null、undefinedはfalseに変換されます.
したがって、null、undefined、0、“”はflasheに転化されます.
ここで言えば、「!!」の意味が分かります.一つ!は、オブジェクトをブール型に変えて反対をとる2つです.は、反転したブール値を直接ブールタイプでない値をブールタイプに変換するのに相当します.