es6 のデータ型とは何ですか?
es6 データ型は 7 つあります: 1. Boolean (ブール型); 2. Null (空の型); 3. Unknown (未割り当て型); 4. Number (数値型); 5. String ( Stringタイプ); 6. シンボル (固有タイプ); 7. オブジェクト (オブジェクトタイプ)。
- ブール値
- Null
- 未定義
- 文字列
- シンボル
- オブジェクト
- 詳細な紹介:
カスタムを表示する必要はありません。変数は未定義として定義されていますが、null では機能しません。つまり、オブジェクトが保存されることを意図していても、実際には保存されていない限り、変数は null 値の保存を明示的に許可される必要があります。
両者の類似点と相違点を主にまとめます:
同じ点: どちらも値のデータ型である; 判定に参加するときにどちらも false を返す; どちらもメソッドを持たない
相違点: (a)、null はオブジェクトであり、未定義はオブジェクトではありません。(b)、null はキーワードであり、未定義はキーワードではありません。(c)、null は数値に変換すると 0、未定義です。変換されます 数値の場合は NaN になります; (d)、typeof null returns 'object'、typeof unknown returns 'unknown';
alert(null == undefined) ;//true
主な目的は判定です;
通常の状況では、次の 6 つの状況のみが false になります: 空の文字列、null、未定義、0、 -0、NaN
配列をブール値に変換するには、Boolean()、!!()
3 の 2 つのメソッドを使用できます。3 つの値のデータ型: 数値、つまり、整数、浮動小数点数、NaN (個人的な分類、重要ではありません)。数値を使用する場合は、10 進数、16 進数以下を使用し、8 進数は使用しないことをお勧めします。
浮動小数点数を使用する場合はデータを比較しないでください。 0.1 0.2 は 0.3 と比べられません。その理由は、コンピューターではデータの表現にバイナリが使用され、バイナリ表現の 0.1 とバイナリ表現の 0.2 を足した値はバイナリ表現の 0.3 と等しくないためです。
数字には、それ自身と等しくない奇妙なものがあります。つまり、alert (NaN == NaN) // false;
But NaN はデータ型であり、typeof NaN の戻り値は 'number' であることを意味します;
上記 2 つの場合機能、ECMAScript 関数 isNaN() が提供されており、その目的は受信値を数値に変換できるかどうかを判断することであり、戻り値はブール値です。
数値に変換された空の文字列は 0 です;
値を数値型に変換するには、Number();
4 を使用できます。 String文字列は通常、二重引用符または一重引用符で表されます。文字列を表すには一重引用符を使用することをお勧めします。
文字列の特性: ECMAScript の文字列は不変です。つまり、文字列が一度作成されると、その値は変更されません。文字列の値を変更する場合は、最初に元の文字列を破棄してください。 、変数に新しい値を含む文字列を入力します。
値を文字列型に変換するには 2 つの方法があります。1 つは toString() メソッドを呼び出す方法で、もう 1 つは String() を使用する方法です。
注: null と unknown には、 toString() メソッド。
5. SymbolSymbol には 2 つの値があります。 1 つは元の属性名です。 1 つは Symbol() によって生成される属性名で、その表現は一意であるため、属性名が競合することはありません。
Symbol を使用する場合の注意: new 演算子は Symbol 関数の前では使用できません (Symbol はオブジェクトではなくプリミティブ データ型です)。メソッドを Symbol に追加できません。symbol は次の形式の基本データ型です。文字列の; シンボルは文字列に変換できます (すでに紹介した 2 つのメソッド)。ブール値に変換できますが、数値に変換することはできません。
Symbol() を使用する場合、パラメーターを渡すのが最善です。パラメーターが渡されない場合、typeof を使用すると、「シンボル」が返されます。パラメーターを追加する場合は、「シンボル (パラメーター)」が返されます。 ; ; シンボルの値は一意であるため、同じパラメータを渡しても 2 つの値は等しくなりません。
Symbol の値は一意であるため、属性名として存在できます。ただし、属性名としてドット (.) 操作は実行できません。すべての Symbol 値は角括弧 ([ ])。
[関連する推奨事項:「
以上がes6 のデータ型とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ES6 では、配列オブジェクトの reverse() メソッドを使用して、配列の反転を実現できます。このメソッドは、配列内の要素の順序を逆にして、最後の要素を最初に、最初の要素を最後に配置するために使用されます。構文「array」 。逆行する()"。 reverse() メソッドは元の配列を変更します。変更したくない場合は、拡張演算子 "..." とともに使用する必要があり、構文は "[...array].reverse() 」。

非同期はes7です。 async と await は ES7 に新しく追加されたもので、非同期操作のソリューションです。async/await は co モジュールとジェネレーター関数の糖衣構文と言え、より明確なセマンティクスで JS 非同期コードを解決します。名前が示すように、async は「非同期」を意味します。async は関数が非同期であることを宣言するために使用されます。async と await の間には厳密な規則があります。両方を互いに分離することはできず、await は async 関数内でのみ記述できます。

手順: 1. 構文 "newA=new Set(a); newB=new Set(b);" を使用して、2 つの配列をそれぞれセット型に変換します; 2. has() と filter() を使用して差分セットを検索します、構文 " new Set([...newA].filter(x =>!newB.has(x)))" では、差分セット要素がセット コレクションに含まれて返されます。 3. 配列を使用します。 from セットを配列に変換するタイプ、構文は「Array.from(collection)」です。

ブラウザの互換性のため。 ES6 は JS の新しい仕様として、多くの新しい構文と API を追加していますが、最新のブラウザーは ES6 の新機能を高度にサポートしていないため、ES6 コードを ES5 コードに変換する必要があります。 WeChat Web 開発者ツールでは、デフォルトで babel が使用され、開発者の ES6 構文コードを 3 つの端末すべてで適切にサポートされる ES5 コードに変換し、開発者がさまざまな環境によって引き起こされる開発上の問題を解決できるようにします。プロジェクト内でのみ設定して確認するだけです。 「ES6~ES5」オプション。

es5 では、for ステートメントと IndexOf() 関数を使用して配列の重複排除を実現できます。構文 "for(i=0;i<配列長;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}」。 es6 では、スプレッド演算子 Array.from() および Set を使用して重複を削除できます。まず配列を Set オブジェクトに変換して重複を削除してから、スプレッド演算子または Array.from() 関数を使用する必要があります。 Set オブジェクトを配列に変換してグループ化するだけです。

es6 では、一時的なデッド ゾーンは構文エラーであり、ブロックを閉じたスコープにする let および const コマンドを指します。コード ブロック内では、let/const コマンドを使用して変数が宣言される前に、変数は使用できず、変数が宣言される前は変数の「デッド ゾーン」に属します。これは構文上「一時デッド ゾーン」と呼ばれます。 ES6 では、一時的なデッド ゾーンや let ステートメントや const ステートメントでは変数のプロモーションが発生しないことを規定しています。これは主に実行時エラーを減らし、変数が宣言される前に使用されて予期しない動作が発生するのを防ぐためです。

いいえ、require は CommonJS 仕様のモジュール構文であり、es6 仕様のモジュール構文は import です。 require は実行時にロードされ、import はコンパイル時にロードされます。require はコード内のどこにでも記述できます。import はファイルの先頭にのみ記述でき、条件文や関数スコープでは使用できません。モジュール属性は導入されるだけです。 require を実行した場合、そのためパフォーマンスは比較的低くなりますが、インポート コンパイル中に導入されたモジュールのプロパティのパフォーマンスはわずかに高くなります。

地図は注文済みです。 ES6 のマップ タイプは、多くのキーと値のペアを格納する順序付きリストです。キー名と対応する値はすべてのデータ型をサポートします。キー名の等価性は、「Objext.is()」メソッドを呼び出すことによって決定されます。 , したがって、数字の 5 と文字列「5」は 2 つのタイプとして判断され、プログラム内で 2 つの独立したキーとして現れることができます。
