array
の要素が真実であるかどうかをテストする方法として、array.some(Boolean)
を書きたいと思います。JavaScript:Booleanオブジェクトをコールバック関数として使用できますか?
Boolean
オブジェクトをこのように使用する際に問題がありますか?最新のブラウザでも同じ動作をしていますか?常にarray.some(function(elem) { return !!elem; })
に相当しますか?
array
の要素が真実であるかどうかをテストする方法として、array.some(Boolean)
を書きたいと思います。JavaScript:Booleanオブジェクトをコールバック関数として使用できますか?
Boolean
オブジェクトをこのように使用する際に問題がありますか?最新のブラウザでも同じ動作をしていますか?常にarray.some(function(elem) { return !!elem; })
に相当しますか?
Boolean
オブジェクトをこのように使用する際に問題がありますか?
たとえば、parseInt
(これは問題になります)とは異なり、Boolean
は1つの引数しか期待していません。だから、他のコールバック引数(インデックスと配列)を渡すことに問題はないはずです。単に無視するだけです。
最新のブラウザでも同じ動作をしていますか?
希望します。 Boolean
機能を信頼できない場合は、残っているものは何ですか?
いつも
array.some(function(elem) { return !!elem; })
に相当しますか?
はい。 specから:Boolean
を関数としてではなく、コンストラクタと呼ばれる
は、型変換を行います。
これは基本的には!!
の機能です。スペックから
関連文献:
私の知る限りでは、Booleanに任意の値をキャストこの機能を知っています。どの関数もオブジェクトであるため、ブール値であるオブジェクトは問題ではありません。 – sielakos
もちろん、ユーモア感覚のある人は、 'Boolean = function(){trueを返します。 }; '。それ以外に禁忌はないはずです。 –