JavaScriptの基礎:データタイプの中のあれらの見識は非常に少ないです.
5234 ワード
Javascriptは、3つの基本データタイプ(string、number、bootlean)、2つの特殊データタイプ(undefined、null)、および1つの参照タイプ(object)を含む6種類のデータタイプがあります.この文章はこの6種類のデータの種類を一つ一つ説明して、これらの基礎概念の理解と応用を深めます.
ストリングス
stringタイプのデータは、16ビットのUnicode文字からなる文字列で、typeofでそのデータの種類を検出します.
number
Javascriptでは、intとfloatのデータタイプではなく、numberで整数と浮動小数点の数値を表しています.この他に、numberはNaN(Not a Number)という特殊な数値があります.NaNは数値タイプのデータを返すことを約束していますが、実際には戻っていない場合を表しています.NaNには二つの特徴があります.一つはNaNに関する操作はいずれもNaNに戻ります.二つはNaNは自分自身を含めていませんが、isNaN()の方法で一つの数値がNaNかどうかを判断できます.
bollan
bollanタイプは二つの面の値しかありません.trueとfalseです.しかし、Javascriptでは、すべてのタイプの値がブーメランと同等の値に変換され、以下のように変換される.
(1)すべての対象はtrueとして扱われ、
(2)文字列が空の場合、この文字列はfalseとして扱われます.
(3)nullとundefinedはfalseとして扱われます.
(4)数字が0の場合、この数字はfalseとして扱われます.
undefined
このタイプは一つの値、すなわちundefinedだけです.undefinedは、varを使用して変数を宣言したがコピーされていない場合、この変数の値がundefinedという意味です.undefined発生の原因は二つあります.
(1)アクセス先が存在しない属性や方法
(2)変数を宣言しましたが、未割り当てです.
null
nullタイプも一つの値だけです.nullは、一つの変数に有効なデータが含まれていないことを表します.nullはここでは`空の値`、`空のオブジェクト`という意味で、より正確には、nullとして割り当てられた変数は有効な数値、文字列、ブール、配列またはオブジェクトなどを保存していません.変数にnullを割り当てることによって、変数の内容を空にすることができます.nullが生まれた理由は一つだけです.つまり、一つの変数に対して明示的に割り当てられた値はnullです.
object
対象は実際にはデータと機能のセットであり、全てを対象としたJSの中で、Objectはプロトタイプチェーンの一番上にあり、プロトタイプチェーンの終わりを表しています.したがって、ObjectはJSのすべての対象の祖先と言えます`.
by@1ピクセル2016.01
転載と共有を歓迎しますが、出典と接続を明記してください.
ストリングス
stringタイプのデータは、16ビットのUnicode文字からなる文字列で、typeofでそのデータの種類を検出します.
var str = "Hi, Javascript";
console.log(typeof str); // string
Javascriptでは、undefinedとnullを除いた他のデータタイプにtoString()の方法がありますので、これらのデータタイプはtoString法により対応するstringタイプに変換できます.123..toString(); // "123"
true.toString(); // "true"
new Object().toString(); // [object Object]
"Hello".toString(); // "Hello"
undefined.toString(); // Error
null.toString(); // Error
一般的に、toStringは伝達パラメータを必要とせず、数値を文字列に変換する場合、1つのradixパラメータを伝達することにより、数値を対応する2進数、8進数、16進数の文字列表現に変換することができます.10..toString(2); // 1010
10..toString(8); // 12
10..toString(16); // a
number
Javascriptでは、intとfloatのデータタイプではなく、numberで整数と浮動小数点の数値を表しています.この他に、numberはNaN(Not a Number)という特殊な数値があります.NaNは数値タイプのデータを返すことを約束していますが、実際には戻っていない場合を表しています.NaNには二つの特徴があります.一つはNaNに関する操作はいずれもNaNに戻ります.二つはNaNは自分自身を含めていませんが、isNaN()の方法で一つの数値がNaNかどうかを判断できます.
typeof 123; // "number"
typeof 123.45 // "number"
typeof NaN; // "number"
NaN+1; // NaN
NaN == false; // false
NaN == NaN; //false
isNaN(NaN+1); //true
bollan
bollanタイプは二つの面の値しかありません.trueとfalseです.しかし、Javascriptでは、すべてのタイプの値がブーメランと同等の値に変換され、以下のように変換される.
(1)すべての対象はtrueとして扱われ、
(2)文字列が空の場合、この文字列はfalseとして扱われます.
(3)nullとundefinedはfalseとして扱われます.
(4)数字が0の場合、この数字はfalseとして扱われます.
typeof true; // "boolean"
typeof false; // "boolean"
Boolean(new Object()); //true
Boolean(undefined); //false
Boolean(null); //false
Boolean(''); //false
Boolean(0); //false
Boolean(100); // true
注意したいのは、普段私たちが見ているif(1){…}は、実際にJSエンジンの内部でもこれらの値をbootanに変換して演算しています.undefined
このタイプは一つの値、すなわちundefinedだけです.undefinedは、varを使用して変数を宣言したがコピーされていない場合、この変数の値がundefinedという意味です.undefined発生の原因は二つあります.
(1)アクセス先が存在しない属性や方法
(2)変数を宣言しましたが、未割り当てです.
var v1,obj = {};
console.log(v1); //undefined
console.log(obj.get); //undefined
typeof v1; // "undefined"
typeof v2; // "undefined"
typeof obj.get; // "undefined"
null
nullタイプも一つの値だけです.nullは、一つの変数に有効なデータが含まれていないことを表します.nullはここでは`空の値`、`空のオブジェクト`という意味で、より正確には、nullとして割り当てられた変数は有効な数値、文字列、ブール、配列またはオブジェクトなどを保存していません.変数にnullを割り当てることによって、変数の内容を空にすることができます.nullが生まれた理由は一つだけです.つまり、一つの変数に対して明示的に割り当てられた値はnullです.
var p = null;
console.log(p); //null
typeof p ; // "object"
typeof null; // "object"
また、typeof nullは‘null’に戻るべきですが、実際に戻ってきたのは‘object’です.これは歴史的に残した問題です.他の原因がないので、考えすぎないでください.object
対象は実際にはデータと機能のセットであり、全てを対象としたJSの中で、Objectはプロトタイプチェーンの一番上にあり、プロトタイプチェーンの終わりを表しています.したがって、ObjectはJSのすべての対象の祖先と言えます`.
var o1 = {};
var o2 = new Object();
var date = new Date();
var arr = [1,2,3];
typeof o1 ; // "object"
typeof o2 ; // "object"
typeof date ; // "object"
typeof arr ; // "object"
by@1ピクセル2016.01
転載と共有を歓迎しますが、出典と接続を明記してください.