TypeScriptで単純なブール値を文字列値に変換するに到達することはできません。
私は文書をあちこち歩き回っていて、何も役に立たなかったので、もちろんtoString()
メソッドを使おうとしましたが、boolには実装されていないようです。
編集:JavaScriptの知識がほとんどなく、C#/ JavaのバックグラウンドでTypeScriptを使いました。
これは、TypeScriptのバグまたは設計上の慎重な決定のいずれかですが、次の方法で回避できます。
var myBool: bool = true;
var myString: string = String(myBool);
alert(myString);
JavaScriptでは、toString
メソッドでオーバーライドされるObject
メソッドをオーバーライドします(JavaScriptのほとんどすべてがObject
から継承します)。
var myString: string = myBool.toString();
...おそらく有効であるはずです。
これに関する別の回避策もありますが、個人的には少し厄介です:
var myBool: bool = true;
var myString: string = <string><any> myBool;
alert(myString);
1つのアプローチは、Ternary演算子を使用することです。
myString = myBool? "true":"false";
別の方法を探している人にとって、これを実行する別の方法は、次のような テンプレートリテラル を使用することです。
const booleanVal = true;
const stringBoolean = `${booleanVal}`;
これの本当の強さは、ブール値を取得していることが確実にわからない場合に発生します。この質問では、これがブール値であることがわかりますが、TypeScriptであっても(完全に活用されていない場合)、常にそうであるとは限りません。
これは、null値も処理する必要がある場合:
stringVar = boolVar===null? "null" : (boolVar?"true":"false");