は私が typeofをキーワードと文字列の比較を行う多くの場所を見てきたし、それは、明らかなよう文字列、オブジェクト、定数文字列であるかを返します未定義私が見ることを期待するなどそれらは定数として定義されていますが、そうではないようです(MDN hereにリストされています)。私はコードで使用されている文字列の複製が魔法のように見えるのは好きではありません。現在の解決方法は、const自分自身でコードを定義することですが、JSはこれらを知っているようですが、どうして私はそれらにアクセスできないのですか? (またはIができますか?)JavaScriptでは、typeofから返される定数文字列はどこから来たのですか?
魔法の文字列:これは魔法の文字列の無重複以来、少し良さそうですが、私はconstとして定義する必要がありますなぜ私は表示されません
if(typeof myObject === 'object') {}
:
const TYPE_OBJECT = 'object';
if(typeof myObject === TYPE_OBJECT) {}
if(typeof myOtherObject === TYPE_OBJECT) {}
それとも、これはあまりにも不器用なようだ:
if(typeof myObject === Object.name.toLowerCase()) {}
if(typeof "hello" === String.name.toLowerCase()) {}
は、より良い方法またはこれらの定数は、どこかで構築されているがありますか?
[ECMAScript 2015 - 12.5.6 'typeof'オペレータ](http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator) – Andreas
あなたがしていることは、次のようですあなたが私に尋ねるならば、最も合理的な方法です。 – sweaver2112
@Andreasは、MDNドキュメントのように返される定数文字列を示しているので、仕様へのリンクを投稿してくれてありがとうございますが、これらの定数にアクセスできるかどうか尋ねていました。 – deejbee