JavaScript のデータ型 — 奇妙な部分


プログラミングにしばらく携わったことがある場合は、データ型とは何か、通常はすべてのプログラミング言語でデータ型が重要である理由を知っているでしょう.

しかし、データ型について知らなくても、それは変数に格納したデータ (値) の型にすぎません — それと同じくらい簡単です.

例を見てみましょう




const name = 'someone';    // data type is string
const num = 101;           // data type is number
const isAlive = true;      // data type is boolean


それでは、データ型を深く掘り下げて調べてみましょう.

JavaScript には PrimitiveNon-Primitive の 2 種類のデータ型があります.

プリミティブ データ型を見てみましょう



Primitive data types are a type which contain only one particular value, it can be a string, number or boolean like the example above



次に例を示します.

console.log(typeof 10);     //number
console.log(typeof true);   //boolean
console.log(typeof "sdf");  //string
console.log(typeof 10.5);   //number
console.log(typeof false);  //boolean


それでは、非プリミティブ データ型を見てみましょう。



Non-Primitive data types is a type which contains a collection of data and this data can be of multiple types: primitive or non-primitive



JavaScript では、object が最も重要な非プリミティブ データ型です.オブジェクトが JavaScript の必要最小限であることは誰もが知っているので、オブジェクトについては別の記事で扱います.

とりあえず、非プリミティブ データ型を理解するためにチェックしてみましょう.

これの例を見てみましょう:

const obj = { a: "apple", b: "ball" };
console.log(typeof obj);  //object


その他のデータ型



プリミティブおよび非プリミティブ データ型に加えて、JavaScript にはさらに 3 つのデータ型があります.

1.関数()



どのプログラミング言語でも、JavaScript と同様に、最も頻繁に使用するのは関数です.

関数には、関数と呼ばれる独自のデータ型があります

const whoAmI = (who) => {
    console.log(`I am ${who}`);   // I am No one
};
whoAmI('No one');
console.log(typeof whoAmI);   // function


2.未定義



値が変数に割り当てられていないことを単に表しています.

let name;
console.log(typeof name);   //undefined


3.ヌル



データ型 null は、値がないこと、つまり何もないこと、つまり空であることを表します.

let name = null;
console.log(typeof name);   //null

undefinednull の間で混乱するかもしれません.しかし、1つの簡単な説明があります

undefined は暗黙的です.つまり、値 (またはエラー値) を設定する必要はなく、JavaScript が自動的に取得します.一方、null の場合は明示的です.つまり、上記の例のように独自に設定する必要があります.

わかった!しかし、奇妙な部分はどうですか?



データ型の文脈では、JavaScript はいくつかの点で奇妙であると言えます.これまでのところ、次のような JavaScript の奇妙な点を見てきました.

1.組み込みコンストラクタ関数の奇妙さ



JavaScript には、String、Object、Date などの変数 (使用しないでください) のデータ型を定義する組み込みの構築関数がいくつかあります.

以下のコードを見てください.

console.log(typeof String);  //function

const place = String("somewhere");
console.log(typeof place);   //string

const fruit = new String('fruit');
console.log(typeof fruit);   //object

console.log(typeof Date);   //function

const now = new Date();
console.log(typeof now);     //object

const date = Date;
console.log(typeof date);    //function


2.ヌルとの奇妙さ




console.log(typeof null);  //object

const name = null;
console.log(name);   //null

console.log(typeof name);   //object


3.オブジェクトの奇妙さ




 console.log(typeof Object);   //function

const item = ['a', 'd'];
console.log(typeof item);   //object

const obj = { a: "apple", b: "ball" };
console.log(typeof obj);   //object


結論



以上で、Javascript のデータ型とその奇妙さについて説明しました.まだ言及していないユースケースもいくつかあります.したがって、それらについて知りたい場合は、コードを記述して自分で調べてください.

最後に、JavaScript は奇妙ですが、それが私が JavaScript を愛する理由です.今後のコンテンツでは、JavaScript とその奇妙さについて詳しく説明します.

参考文献


  • Stackoverflow Forum
  • Flavio Copes Blog
  • App Dividend Article

  • JavaScript の詳細


  • Variables in JavaScript, Scope and Hoisting
  • Type Conversion in JavaScript - The Magic
  • An Introduction to Loops in JavaScript
  • JavaScript Equality - Double Equals vs Triple Equals

  • 🎉 いつもご利用いただきありがとうございます.学び続けます.

    📢This article is officially published on Within Bracket



    📌 もっと記事を探す Here