JavaScript筆記の二:基本タイプ(上)
2711 ワード
前言
JavaScriptの高い工程に基づいて紅皮書の総括を設計して、後でひっくり返して強固にすることに便利です.ECMAScript 5に基づいて、部分ES 6をドープすることがあります.
JavaScriptの基本タイプ(ES 5ベース)
先端はJSを見て、JSは基礎を見ます.基礎をしっかり固めてこそ、次々と出現する枠組みに対処できる.じゃ、無駄話はやめて、GO.ES 5では、JavaScriptには5種類の基本タイプがあり、それぞれUnidefined、Null、Boolean、Number、Stringとなっています.ps:ES 6はSymbol基本タイプを追加しました.興味があれば自分で検索して勉強します.
Udefined
Unidefinedベースタイプは、一つの値だけundefinedで、文字通り「未定義」です.変数を定義して値を与えない場合、この変数のタイプはundefinedです.
Null
Nullタイプは、一つの値しかありません.nullです.ここも面白いです.typeofオペレータでnullを検出します.変数は将来保存対象用に用意され、明示的にnull と定義される.手動で変数/オブジェクト属性の参照を解除し、メモリ管理を最適化する .
ボロア
ブールタイプ、2つの値はそれぞれtrueとfalseです.ここで注意したいのは、trueは必ずしも1ではなく、falseも必ずしも0ではありません.変数宣言ブール値が明示的に与えられます.
ps:すべてのオブジェクトはtrueに変換されます. Boolean()変換関数JSは、Boolean()に値を変換するための変換関数を提供する. !論理はオペレータではありませんオペレータはBoolean()関数の操作をシミュレートして、値をブール値で反転します.値の真のブール値を返します.これはBoolean()に相当します.もっと一般的です.
私たちの最も一般的な
NumberタイプとSteringタイプは二節に分けてまとめます.まずこれにします.
JavaScriptの高い工程に基づいて紅皮書の総括を設計して、後でひっくり返して強固にすることに便利です.ECMAScript 5に基づいて、部分ES 6をドープすることがあります.
JavaScriptの基本タイプ(ES 5ベース)
先端はJSを見て、JSは基礎を見ます.基礎をしっかり固めてこそ、次々と出現する枠組みに対処できる.じゃ、無駄話はやめて、GO.ES 5では、JavaScriptには5種類の基本タイプがあり、それぞれUnidefined、Null、Boolean、Number、Stringとなっています.ps:ES 6はSymbol基本タイプを追加しました.興味があれば自分で検索して勉強します.
Udefined
Unidefinedベースタイプは、一つの値だけundefinedで、文字通り「未定義」です.変数を定義して値を与えない場合、この変数のタイプはundefinedです.
var message;
console.log(typeof message); //undefined
興味深いことに、私たちは存在しない変数を検出すると、undefinedに戻ります.//var age;
console.log(typeof age); //undefined
この二つは全く違っています.直接に結果を印刷してみてください.var message;
//var age;
console.log(message);
console.log(age);
その結果、1行目はundefined、2行目はエラーとなりました.もちろん、私たちは使う時にundefinedタイプを明示的に宣言する必要はありません.Null
Nullタイプは、一つの値しかありません.nullです.ここも面白いです.typeofオペレータでnullを検出します.
var message = null;
console.log(typeof null); //object
typeofオペレータがnullをobjectタイプとして検出しましたか?困っています.有木ありますか?私は前後で何冊かの本を読みましたが、nullは空の指針なので、ある人はObjectの原型がnullを指していると言いますが、本当の原因は設計ミスです.でももう直せないです.ですから、あまりにもこだわる必要はありません.もしnullタイプを検査したいなら、このようにしてもいいです.if(ele === null){
//your code
}
ここでは一つの点を説明します.undefinedはnullから派生していますので、下のコードはtrueに戻ります. console.log(undefined == null); //true
==
等しいオペレータはタイプを変換するので、ここでは===
フルオペレータを使用することを強く推奨します.nullタイプでよく使われるシーンは主に以下を含む.ボロア
ブールタイプ、2つの値はそれぞれtrueとfalseです.ここで注意したいのは、trueは必ずしも1ではなく、falseも必ずしも0ではありません.変数宣言ブール値が明示的に与えられます.
var isStudent = true;
var isMan = false;
JSでは、ほとんどのタイプの値はブール値に変換され、表示遷移もあれば、暗黙的な変換も存在する.ここでは以下のタイプの値がfalseに変換されることを覚えておきたいです.undefined,null,""( ),0,NaN
これ以外の値はtrueに変換されます.ps:すべてのオブジェクトはtrueに変換されます.
var obj = {};
console.log(Boolean(obj)); //true
明示的な変換var message = 123;
console.log(Boolean(message)); //true
var message = "string";
console.log(!message); //false
console.log(!!message); //true
暗黙的な変換私たちの最も一般的な
if..else
は、文に暗黙的な変換があると判断します.下記のコードを考慮します.var message = "hello world";
if(message){
console.log("message is exist");
}
else{
console.log("message isn't exist");
}
if後の括弧内は暗黙的に変換され、メッセージがBoolean値に変換されると、else後の文が実行されます.NumberタイプとSteringタイプは二節に分けてまとめます.まずこれにします.