2016-11-17 7 views
0

私はフリーコードキャンプで "Falsy Bouncer"チャレンジを開始したときに少し問題があります。私は以下のような新しいBooleanオブジェクトを作成しようとすると:Javascript Freecodecamp "ブールをコンストラクタとして使用しないでください"

var bool = new Boolean(); 

を黄色の三角形が表示され、「コンストラクタとしてブールを使用しないでください」と言います。

私は簡単にこのオブジェクトを使用したり、オブジェクトを使用したり、ブールオブジェクトのドキュメントに記載されているような別のメソッドを使用したり、難しい問題はありませんが、私はなぜ新しいオブジェクトを作成できないのか分かりませんFreecodecampのコードウィンドウ?これは、関数の外部または内部で、任意のパラメータを使用して、またはパラメータなしで行います。

なぜこのようなことが起こるのか知っていますか?

+0

を...? – deceze

+2

Googleは知っています:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean – tmslnz

+0

@decezeこれは、少しのコードを保存する特定の条件をテストするのに便利です。上記の –

答えて

0

その

var boolean = new Boolean(true); 
 
console.log(boolean === true);

falseですので。

var boolean = new Boolean(false); 
 
console.log(!!boolean);

truthyです。

+0

私はこのオブジェクトを使用する方法を私には分かっていません。なぜ、 "ブールをコンストラクタとして使用しないでください"と言う黄色い三角形が表示されるのですか?私はなぜこれが現れているのか知りたいですか? –

+0

@RobertMazurowskiその病気が上記の理由でアドバイスされたからです。 –

+0

これは、黄色の三角形がコードの実行を中断しないことを意味しますか? –

1

from MDN

ブール値に非ブール値に変換するためにBooleanオブジェクトを使用しないでください。代わりに、この タスクを実行する関数としてブールを使用する:あなたはとにかく単純に `true`をかけ`新しいBoolean`を好むだろうどのような状況では

var x = Boolean(expression);  // preferred 
var x = new Boolean(expression); // don't use 
+1

引用した文書へのリンクを入力してください。 – nvisser

+0

リンクが更新されています –

関連する問題