Type in JavaScript
4376 ワード
作者:李ヒョン雨
書く意図:JavaScriptの基礎を一緒に見てみましょう!特にスタティックタイプの開発でJavaScriptに触れた方は、この記事を読むと助かります.
Javaまたはcortlinの「静的タイプ」言語を使用する開発者はjavascriptについて話すと、「タイプ概念のない」言語を話すことが多い.しかし、JavaScriptの書籍を読むと、JavaScriptの内蔵タイプを説明する部分が見えてきます.では、私たちがよく使う「タイプ」と、彼らが使う「タイプ」の概念の違いは何でしょうか.
通常、ジャワやコトリンには変数タイプが与えられます.
JavaScriptの組み込みタイプにはundefinedというタイプがあります.このタイプはどんなタイプですか?次の問題を見て推論する.
驚くべきことに、aはundefiendを表示するが、bはReferenceErrorを表示する.では、undefinedをどのように説明すればいいのでしょうか.
undefinedはアクセス可能なscopeに変数がありますが、値は割り当てられていません.すなわち,初期化値を持たない変数は未定義と見なすことができる.ただし、変数さえ宣言していないとReferenceErrorが発生する場合、undaindedが持つ意味やレイアウトは混同される可能性がありますが、javascriptエンジンはこのように値を処理しているので、上記のように考えたほうがいいです.
ここでのもう一つの反転は、
結果は本当に素晴らしいこの場合,
おなじみかもしれませんが、JavaScriptではnullのタイプはobjectです.これはtypeofで知ることができます.
では、この変数がnullであるかどうかをどのように判断しますか?JavaScriptで、強制的にbooleanに変換する場合、以下に示すように値をfalseに変換できます. undefined null false +0, -0, NaN "" 上記の結果だけを見るとobjectタイプのnullのみがfalsey値であることがわかります.したがって、変数の値がnullであるか否かを決定する条件文を作成することができる.
書く意図:JavaScriptの基礎を一緒に見てみましょう!特にスタティックタイプの開発でJavaScriptに触れた方は、この記事を読むと助かります.
概要
Javaまたはcortlinの「静的タイプ」言語を使用する開発者はjavascriptについて話すと、「タイプ概念のない」言語を話すことが多い.しかし、JavaScriptの書籍を読むと、JavaScriptの内蔵タイプを説明する部分が見えてきます.では、私たちがよく使う「タイプ」と、彼らが使う「タイプ」の概念の違いは何でしょうか.
タイプ変数ではなく値を付与
通常、ジャワやコトリンには変数タイプが与えられます.
val name: String = "Nunu Lee"
val onePlusOneIs: Int = 2
ただし、javascriptは上記のようにタイプを付与しません.let anyThingInHere = 2
anyThingInHere = 'Nunu' // Possible
このような特性を見ると,静的タイプの開発者は「javascriptにはタイプの言語がない」という錯覚を起こしやすい.ただしjavascriptでは,タイプは変数を付与するのではなく,値自体を付与する.すなわち、変数のタイプは、値に委任されたタイプと見なすことができる.var a = 42;
typeof a; // "number"
a = false;
typeof a // "boolean
undefined is "it is not defined"?
JavaScriptの組み込みタイプにはundefinedというタイプがあります.このタイプはどんなタイプですか?次の問題を見て推論する.
var a;
a;
b;
上記の手順でChromeコンソールを撮るとどんな結果になりますか?a,bはそれぞれ値,変数が定義されていない場合である.上記の未定義タイプによれば、a、bの両方に未定義タイプが現れるはずであり、結果は以下の通りである.驚くべきことに、aはundefiendを表示するが、bはReferenceErrorを表示する.では、undefinedをどのように説明すればいいのでしょうか.
undefinedはアクセス可能なscopeに変数がありますが、値は割り当てられていません.すなわち,初期化値を持たない変数は未定義と見なすことができる.ただし、変数さえ宣言していないとReferenceErrorが発生する場合、undaindedが持つ意味やレイアウトは混同される可能性がありますが、javascriptエンジンはこのように値を処理しているので、上記のように考えたほうがいいです.
ここでのもう一つの反転は、
typeof
演算子を使用して値のタイプを表示したらどうなりますか?var a;
typeof a;
typeof b;
結果は本当に素晴らしいこの場合,
b
をundefinedとして扱うことで,開発者に混同の余地が多く,残念である.でもどうしよう、という言葉になってしまいました.このような現象があることを知っていれば、予防すればいいです.追加)nullとtypeof
おなじみかもしれませんが、JavaScriptではnullのタイプはobjectです.これはtypeofで知ることができます.
では、この変数がnullであるかどうかをどのように判断しますか?JavaScriptで、強制的にbooleanに変換する場合、以下に示すように値をfalseに変換できます.
var a = null;
(!a && typeof a === "object"); //true
Reference
この問題について(Type in JavaScript), 我々は、より多くの情報をここで見つけました https://velog.io/@server30sopt/type-in-jsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol