ベースtypeof 演算子は JavaScript における基本的な知識ポイントです。一定の制限(下記参照)はあるものの、フロントエンド JS の実際のコーディングプロセスでは、依然として最もよく使用される型判定方法です。 したがって、この演算子の特性を習得することは、優れたコードを書く上で非常に役立ちます。 typeof は、演算値のデータ型を示す文字列を返します。基本的な構文は次のとおりです。 オペランドの型 typeof(オペランド) 戻り値の型として可能な文字列には、文字列、ブール値、数値、bigint、シンボル、未定義、関数、オブジェクトなどがあります。 戻り値の型以下の分類の紹介は、typeof のすべての使用法を網羅し、可能な戻り値の型に従って行われます。 文字列とブール値文字列とブール値はそれぞれ文字列とブール値を返します。 String() と Boolean() を含みます。 typeof '1' // '文字列' typeof String(1) // '文字列' typeof true // 'ブール値' typeof Boolean() // 'ブール値' 数値と bigint数値は、Number()、NaN、Infinity などの数値と、Math オブジェクトの下にあるさまざまな数学定数の値を返します。 BigInt数値型の値はBigInt(1)を含めてbigintとして返されます。 typeof 1 // '数値' typeof NaN // '数値' typeof Math.PI // '数値' typeof 42n // 'bigint' typeof BigInt(1) // 'bigint' シンボルシンボル値は、Symbol() を含むシンボルを返します。 typeof Symbol() // 'シンボル' typeof Symbol('foo') // 'シンボル' typeof Symbol.iterator // 'シンボル' 未定義undefined 自体は undefined を返します。 存在しない変数、または定義されているが初期値が割り当てられていない変数は、undefined を返します。 document.all などのブラウザの非標準機能もあります。 typeof undefined // 'undefined' typeof ttttttt // 'undefined' typeof document.all // '未定義' 関数関数は関数を返します。 es6 クラス宣言の使用を含みます。 String、Number、BigInt、Boolean、RegExp、Error、Object、Date、Array、Function、Symbol 自体の組み込みオブジェクトもあります。 そして Function()、新しい Function()。 関数関数() {} typeof func // '関数' typeof class cs {} // 'function' typeof String // 'function' typeof RegExp // 'function' typeof new Function() // 'function' 物体オブジェクト、配列、null、正規表現、すべてオブジェクトを返します。 Math、JSON オブジェクト自体を含みます。 Function に加えて、新しい演算子を使用するデータもあります。 typeof {} // 'オブジェクト' typeof [] // 'オブジェクト' typeof null // 'オブジェクト' typeof /d/ // 'オブジェクト' typeof Math // 'オブジェクト' typeof new Number(1) // 'オブジェクト' 他の他のほとんどの JavaScript キーワードの場合、結果の値はオブジェクトまたは関数のいずれかになります。 注: ほとんどの小文字はオブジェクトで始まり、ほとんどの大文字はメソッドで始まります。アラート、プロンプトなど、明らかに知られている一般的な方法はカウントされません。 さらに、各 js 環境に特化して実装されるホスト オブジェクトが存在します。 よくある質問参照エラーlet および const ブロックスコープ変数が定義される前に、typeof を使用すると ReferenceError がスローされます。 ブロックレベルのスコープ変数は初期化されるまでヘッダー内に一時的なデッドゾーンを形成するため、初期化されなかった場合は参照エラーが報告されます。 t 型 t = 1とする // VM327:1 キャッチされない ReferenceError: t が定義されていません // <匿名>:1:1 で var を使用して変数を定義すると、エラーは報告されず、 undefined が返されます。 改善すべき変数があり、一時的なデッドゾーンは形成されません。 null 型typeof null === 'object' の場合、考えられる説明を覚えておいてください: JavaScript の元の実装では、JavaScript の値は、型と実際のデータ値を示すタグで表されていました。オブジェクトのタイプタグは 0 です。による null は null ポインター (ほとんどのプラットフォームでは 0x00) を表すため、null の型タグは 0 となり、typeof null は "object" を返します。 typeofの制限typeof の制限は、null、配列、オブジェクト、正規表現の型を正確に判別できないことです。 したがって、正確な判断をしたい場合は、他の技術的手段や複合的な判断を使用する必要があります。 次のように配列タイプを決定します。 Object.prototype.toString.call([]) // '[オブジェクト配列]' [] 配列のインスタンス // true [].constructor === 配列 // true その中でも、Object.prototype.toString.call は、データ型を正確に判別するために JavaScript でよく使用されるメソッドです。 拡張: BigInt 型BigInt は、任意の精度の整数を表すことができる、ES11 で追加された新しい基本型です。 2^53 - 1 より大きい整数を表す方法を提供し、任意の大きさの整数を表すことができます。 これは、整数の末尾に n を追加するか、コンストラクター BigInt() を呼び出すことによって作成されます。 IEはサポートされていません。 10n ビッグイント(99) // 99n 注記:
要約するjs での typeof の使用に関するこの記事はこれで終わりです。js での typeof の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. データベースデータをシミュレートする1-1 データベースとテーブルスクリプトを作成する - v...
目次導入Homebrewをインストールするnvmをインストールするノードをインストールするインストー...
並べ替えツールLinux の sort コマンドは、テキスト ファイルの内容を並べ替えるために使用さ...
ソースコードを通じて Linux に最新の安定バージョンの MySQL をインストールします: my...
この記事では、Web デザインの達人がよく使用するレスポンシブ フレームワーク (概要) を紹介し、...
<br />前回のCSSに関する記事は、多くの人にあまり理解されませんでした。そのため、...
フィルターを使用して画像に透明な CSS を書く方法コードをコピーコードは次のとおりです。 html...
クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...
目次序文紹介-公式設定例序文vueCli を使用してプロジェクトを開発したことのある方は、少しがっか...
目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...
この記事では、主に、div の水平レイアウトの両側の配置を実装する 3 つの方法を紹介し、それらを共...
フロントエンドは、技術が急速に進化するだけでなく、知っておくべき事柄が多すぎるという理由で大変な仕事...
序文私が使用しているパソコンはMacで、OSはmacOS Mojaveです。コンピュータに仮想マシン...
序文以前フロントエンドを勉強していたとき、メタタグに対する私の理解はこの一文だけでした。 <メ...
xshell を使用したリモート接続システムの自動切断の問題の解決策: 1. サーバー構成サーバーは...