ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript変数にはいくつかの種類があります

JavaScript変数にはいくつかの種類があります

青灯夜游
青灯夜游オリジナル
2021-07-20 16:18:137080ブラウズ

JavaScript 変数には 9 つの型があります: 1. 文字列型; 2. 数値型; 3. ブール型; 4. null 型; 5. 未定義型; 6. オブジェクト型; 7. 配列型; 8. 関数タイプ; 9. シンボルのタイプ。

JavaScript変数にはいくつかの種類があります

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript の変数の型とは何ですか?

  • # 値の型: 文字列、数値、ブール値、null、未定義

  • ## 参照型: オブジェクト、配列、関数
  • ES6 では、新しいプリミティブ データ型であるシンボルが導入されており、一意の値を表します。

  • #値型と参照型の違い

値型:

占有領域は固定され、スタックに格納されます (メソッドが実行されると、各メソッドは独自のメモリ スタックを確立し、このメソッドで定義された変数が 1 つずつこのスタック メモリに置かれます)。メソッドの実行が終了すると、このメソッドのメモリ スタックは自然に破棄されるため、メソッド内で定義されたすべての変数はスタック メモリに配置され、スタックには基本変数と一部のオブジェクトの参照変数が格納されます。値はスタックに格納されますが、スタックに格納されている参照変数はヒープ内の配列またはオブジェクトのアドレスを指します。これが、参照型を変更すると、このアドレスを指す他の参照変数に常に影響を与える理由です。
  • 保存およびコピーされるのは値そのものです
  • typeof を使用してデータの種類を検出します
  • Basic型データは値型です。
  • 参照型:

占有スペースは固定されず、ヒープ (オブジェクトを作成すると、そのオブジェクトは繰り返し使用するために実行時データ領域に保存されます (通常、オブジェクトの作成コストが大きいため)。この実行時データ領域がヒープ メモリです。メソッドが終了してもヒープ メモリは削除されません。破棄された場合でも、メソッドが終了した後でも、オブジェクトが別の参照変数によって参照される可能性があります (メソッド パラメーターを渡すときに非常に一般的です)。オブジェクトはまだ破棄されません。オブジェクトが破棄された場合のみそれを参照する参照変数がない場合、システムはガベージ コレクション メカニズムによって検証中にそれがリサイクルされます。
  • #保存およびコピーされるのはオブジェクトへのポインタです

  • instanceof を使用してデータ型を検出します

  • new() メソッドを使用して構築されたオブジェクトは参照型です

  • // 值类型:Number、string、bollean、undefined
    var a = 100
    var b = a
    a = 200
    console.log(b) // 100
     
     
    // 引用类型:对象、数组、函数、null(空指针)
    // 可以扩展属性
    var a = {age:20}
    var b = a
    b.age = 21
    console.log(a.age) // 21
     
    typeof undefined // undefined
    typeof 'abc' // string
    typeof 123 // number
    typeof true // boolean
    // typeof 区分不出来引用类型(除了函数)
    typeof {} // object
    typeof [] // object
    typeof null // object
    typeof console.log //function

    [推奨学習:

    JavaScript 上級チュートリアル
  • ]

以上がJavaScript変数にはいくつかの種類がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。