JavaScript 7種類のデータタイプを簡単に説明します.

2557 ワード

ES 6には7種類のデータタイプが定義されています.String、Number、Boolean、Symbol、Null、Unidefined、Objectのうち、SymbolはES 6で新しく導入されたデータタイプです.
JavaScriptはダイナミックタイプを持っています.
JavaScriptの変数は、異なるタイプのデータを格納するために使用できます.
var a = 1;
a = 'mike';
合法的です
Udefined
変数が宣言されている場合は、変数の種類はUdefinedです.
Null
Nullタイプは1つの値nullだけで、空の値という意味です.変数の割当値にnullを設定することで、この変数をクリアすることができます.
typeof(null)はobjectに戻ります.
JavaScriptでは、typeof(null)の戻り値はObjectではなく、nullの変数の種類はObjectというわけではありません.これは歴史的な問題です.1995年の第一版のJavaScriptのすべての値は32ビットのバイナリ数で保存されています.データタイプのラベルとデータを格納する値を含みます.(null)の戻り値はobjectであり、論理的にはnullも空のオブジェクトであっても良い.
しかし、nullのデータの種類は依然としてNullで、typeof(null)がObjectに戻るのは歴史的なバグであり、修復されないはずです.これは既存のコードに影響します.
ボロア
Booleanタイプは2つの値しかなく、trueとfalse、ブール型変数は一般に条件判定に用いられます.
他のタイプの変数もBoolean()関数でブール型変数に変換できます.その値は次のようになります.
タイプ
trueに変換
falseに変換
Udefined
適用されません
undefined
Null
適用されません
null
Number
0以外、NaNの数字
0,NaN
String
空の文字列以外
''空の文字列
Symbol
任意のオブジェクト
適用されません
Object
任意のオブジェクト
null
Number
Numberタイプの値は-(2の63乗-1)~(2の63乗-1)の数字、+Infinity、-Infinity、NaNとすることができます.Numberタイプの変数は整数と浮動小数点を区別せず、大きくても小さい数は科学的な記数法で表されます.
ここで注意すべきことは、NaNと任意のNumberタイプの値は等しくなく、NaN自身を含む.
String
Stringタイプはテキストを格納するために使用され、シングルクォーテーションマークまたはダブルクォーテーションマークで文字列を表すことができます.
var name = 'Jack';
var name = "Jack";
JavaScriptにはStringを操作する方法がいくつかあります.具体的にはJavaScript Stringオブジェクトを参照してください.
Symbol
ES 6はSymbolを導入する目的は、オブジェクトの属性名ごとにユニークであり、属性名の衝突を防ぐ仕組みを導入することにある.
smbol値はSymbol()関数により生成され、オブジェクトの属性名として使用することができます.
var name = Symbol();
var age = Symbol();
var student = {};
student[name] = 'Jack';
student[age] = 12;
Symbolタイプの変数は唯一無二なので、Symbol()関数に同じパラメータが入っても、生成されるSymbol変数は異なります.
var a = Symbol();
var b = Symbol();
var c = Symbol("name");
var d = Symbol("name");
a === b; //false
c === d; //false
Symbolタイプの属性はfor...in、for...ofで遍歴できません.Object.getOwn PropertySymbools方法で遍歴します.
var a = Symbol();
var b = Symbol();
var c = Symbol();
var car = {
    [a] : 'Benz',
    [b] : 'Tesla',
    [c] : 'Volvo'
}
for(let prop of Object.getOwnPropertySymbol(car)){
    document.write(car[prop]);
}
Object
オブジェクトは{}によって宣言されていますが、{}内の時の形はkey:valueのキーのペアです.その中のkeyはSrtingまたはSymbolタイプの変数しかできません.複数のキーペアの間にはコンマで区切られています.
student = {
    name : 'Jack',
    age : 12,
    id : 2001    
};