js対象に向かって1データタイプを学ぶ
2004 ワード
ECMAScript基礎
1元の値と参照値:
prmitive valueはstackに格納された簡単なデータセグメントであり、つまり彼らの値は直接変数の格納場所に保存されます.
reference valueはheapに格納されているオブジェクトであり、つまり変数に格納されているものは一つであり、記憶対象のメモリアドレスを指す.
変数の割り当て時には、元のタイプかそれとも引用タイプかを自動的に判断します.この点を実現するには、この値がecmascriptの元のタイプの一つであるかどうかを説明します.Unidefined、Null、Nubmer、Boolean、Stringは、これらの元のタイプが占めているメモリの空き領域が固定されていますので、小さなメモリアドレスStringに保存します.このようにして、メモリの中で変数の値を素早く探すことができます.値が参照タイプの場合、メモリ空間はheapに割り当てられます.参照値の大きさが変わるので、彼らをstackに置くことはできません.アドレスの大きさが固定されているので、参照タイプのアドレスを変数値に置くとメモリアクセス速度がアップします.
2判定タイプtypeof
ecmascriptは、typeof演算子を提供して、ある値がある種類の範囲内にあるかどうかを判断します.typeofで一つの値が元のタイプとして表されているかどうかを判断できます.元のタイプであれば、元のタイプとしても判断できます.
bollan変数がBooleanタイプなら
number変数がNumberであれば
stringは変数がstringタイプなら
object変数が参照タイプであれば.
Unidefineタイプ:
Unidefineタイプは一つの値しかないです.それはundefine値です.宣言変数が初期化されていないときのデフォルト値はundefineです.
Nullタイプ:
もう一つの値のタイプはNullです.文字どおりnull値undefineは実際にnullから派生してnull==undefinedはtrueです.
二つの値は同じですが、彼らの意味は全く違っています.undefineは変数を宣言していますが、初期化されていません.nullはまだ存在していないオブジェクトを表しています.
関数メソッドがオブジェクトに戻ると、オブジェクトが見つからないのがnullです.
Booleanタイプ:
excascriptの中で最もよく使われているタイプの一つは、彼にはtrue、falseの2つの値しかありません.
1元の値と参照値:
prmitive valueはstackに格納された簡単なデータセグメントであり、つまり彼らの値は直接変数の格納場所に保存されます.
reference valueはheapに格納されているオブジェクトであり、つまり変数に格納されているものは一つであり、記憶対象のメモリアドレスを指す.
変数の割り当て時には、元のタイプかそれとも引用タイプかを自動的に判断します.この点を実現するには、この値がecmascriptの元のタイプの一つであるかどうかを説明します.Unidefined、Null、Nubmer、Boolean、Stringは、これらの元のタイプが占めているメモリの空き領域が固定されていますので、小さなメモリアドレスStringに保存します.このようにして、メモリの中で変数の値を素早く探すことができます.値が参照タイプの場合、メモリ空間はheapに割り当てられます.参照値の大きさが変わるので、彼らをstackに置くことはできません.アドレスの大きさが固定されているので、参照タイプのアドレスを変数値に置くとメモリアクセス速度がアップします.
2判定タイプtypeof
ecmascriptは、typeof演算子を提供して、ある値がある種類の範囲内にあるかどうかを判断します.typeofで一つの値が元のタイプとして表されているかどうかを判断できます.元のタイプであれば、元のタイプとしても判断できます.
var str="this is jssrcipt";
console.log(typeof str);//string
console.log(typeof 30);//number
undefined変数がUnidefinedタイプの場合bollan変数がBooleanタイプなら
number変数がNumberであれば
stringは変数がstringタイプなら
object変数が参照タイプであれば.
Unidefineタイプ:
Unidefineタイプは一つの値しかないです.それはundefine値です.宣言変数が初期化されていないときのデフォルト値はundefineです.
var und;
console.log(und); //undefine
console.log(und==undefine);//true
注意:値undefineとundefineは違いますが、typeofは両者の違いを本当に考えません.例えば、var tmp
console.log(typeof tmp); // undefined
console.log(typeof tmp1);//undefined
console.log(typeof tmp1)
console.log(tmp1==undefined) error
tmp1 undefined
関数が値を返していない場合もundefinedです.function testFun(){
}
console.log(testFun()==undefined); //true
Nullタイプ:
もう一つの値のタイプはNullです.文字どおりnull値undefineは実際にnullから派生してnull==undefinedはtrueです.
二つの値は同じですが、彼らの意味は全く違っています.undefineは変数を宣言していますが、初期化されていません.nullはまだ存在していないオブジェクトを表しています.
関数メソッドがオブジェクトに戻ると、オブジェクトが見つからないのがnullです.
Booleanタイプ:
excascriptの中で最もよく使われているタイプの一つは、彼にはtrue、falseの2つの値しかありません.