[JavaScript 33概念]2.Primitive Type(オリジナルデータ型、オリジナルタイプ)
14951 ワード
Primitive Types
JavaScriptでは、元のタイプ(primitive datatype)はオブジェクトではなく、メソッドを持たないデータ型です.string、number、bigint、boolean、undefined、symbol、nullの7種類の元のタイプがあります.
All primitives are immutable
元のタイプは変わりません.これは、元のタイプ値に割り当てられた変数は変更できませんが、元のタイプ値自体はオブジェクト、配列、または関数で変更できません.// 문자열 메소드는 문자열을 변경하지 않는다.
var bar = "baz";
console.log(bar); // baz
bar.toUpperCase();
console.log(bar); // baz
// 배열 메소드는 배열 값을 변경한다.
var foo = [];
console.log(foo); // []
foo.push("plugh");
console.log(foo); // ["plugh"]
// 할당(assignment)은 원시 값을 변형하는 것이 아닌 새로운 값을 부여한다.
bar = bar.toUpperCase(); // BAZ
null
nullは値がないことを示します.したがってnullとして指定された変数は存在しない値として定義されるといえる.var x = null;
console.log( x ); // null 출력
nullとして指定された変数にはobjectタイプがあります.console.log(typeof x); // object
undefined
変数を宣言した後に値を指定しない場合は、その変数にundefinedを指定します.var x;
console.log(x); // undefined
console.log( typeof x); // undefined
console.log(y); // ReferenceError
console.log( typeof y); // undefined
number
JavaScriptはIEE-754形式で整数と浮動小数点を表します.var x = 10;
var f = 10.5;
var f1 = 0.34;
number値が浮動小数点で表される整数値である場合、JavaScriptは浮動小数点ではなく整数と見なします.
JavaScriptは、浮動小数点数が整数の約2倍のメモリを使用するため、常により少ないメモリを使用して計算されます.var fp = 10.00; // 10.00을 정수 10으로 취급
string
stringタイプは、0文字以上の文字からなる文字列です.'
、''
またはbacktic文字で開始および終了します.var helloMessage = "Hello";
var message = "let me know";
boolean
ブール値はtrueまたはfalseです.var isDay = true;
var isNight = false;
console.log( typeof isDay);// boolean
console.log(typeof isNight);// boolean
他のタイプをブールに変換できます.console.log(Boolean(‘JavaScript’)); // true console.log(Boolean(‘A’)); // true
console.log(Boolean(‘’)); // false
console.log(Boolean(10)); // true
console.log(Boolean(0)); // false
console.log(Boolean(Infinity)); // true console.log(Boolean({‘A’:1})); //true (빈 객체가 아닐경우 true)
console.log(Boolean(null)); // false
symbol
SymbolはES 6に追加された元のタイプです.Symbolは関数で生成でき、呼び出すたびに一意の値が生成されます.console.log(symbol() == symbol() ); // false
const a1 = Symbol(‘debug’);
const a2 = ‘debug’;
const a3 = Symbol(‘xy’);
console.log(a1==a2);// false
console.log(a1==a3); // false
console.log(a1);// Symbol(debug)
主に他の値と同じ文字列を作成し、他の値と競合しないようにします.const change = Symbol(‘change’);
bigint
bigintは、数値データ型をArbitrary-precision算術整数として表すことができるタイプである.
Auto-boxing
元のタイプにはメソッドやプログラムはありません.しかし、次のコードは正常に動作しています.const name = "Doggo"
const age = 7
console.log(typeof name) // string
console.log(typeof age) // number
console.log(name.length) // 5
console.log(age.toString()) // "7"
JavaScriptが元のタイプのメソッドまたはプログラムにアクセスしようとするたびに、元のタイプはオブジェクト(object)としてパッケージされます.これを自動運転といいます.オートテッセレーションは、元のタイプに関連付けられたプロトタイプオブジェクトを元のタイプに関連付けることで、対応するプロトタイプメソッドとプロトタイプにアクセスできます.
Reference
// 문자열 메소드는 문자열을 변경하지 않는다.
var bar = "baz";
console.log(bar); // baz
bar.toUpperCase();
console.log(bar); // baz
// 배열 메소드는 배열 값을 변경한다.
var foo = [];
console.log(foo); // []
foo.push("plugh");
console.log(foo); // ["plugh"]
// 할당(assignment)은 원시 값을 변형하는 것이 아닌 새로운 값을 부여한다.
bar = bar.toUpperCase(); // BAZ
var x = null;
console.log( x ); // null 출력
console.log(typeof x); // object
var x;
console.log(x); // undefined
console.log( typeof x); // undefined
console.log(y); // ReferenceError
console.log( typeof y); // undefined
var x = 10;
var f = 10.5;
var f1 = 0.34;
var fp = 10.00; // 10.00을 정수 10으로 취급
var helloMessage = "Hello";
var message = "let me know";
var isDay = true;
var isNight = false;
console.log( typeof isDay);// boolean
console.log(typeof isNight);// boolean
console.log(Boolean(‘JavaScript’)); // true console.log(Boolean(‘A’)); // true
console.log(Boolean(‘’)); // false
console.log(Boolean(10)); // true
console.log(Boolean(0)); // false
console.log(Boolean(Infinity)); // true console.log(Boolean({‘A’:1})); //true (빈 객체가 아닐경우 true)
console.log(Boolean(null)); // false
console.log(symbol() == symbol() ); // false
const a1 = Symbol(‘debug’);
const a2 = ‘debug’;
const a3 = Symbol(‘xy’);
console.log(a1==a2);// false
console.log(a1==a3); // false
console.log(a1);// Symbol(debug)
const change = Symbol(‘change’);
const name = "Doggo"
const age = 7
console.log(typeof name) // string
console.log(typeof age) // number
console.log(name.length) // 5
console.log(age.toString()) // "7"
Reference
この問題について([JavaScript 33概念]2.Primitive Type(オリジナルデータ型、オリジナルタイプ)), 我々は、より多くの情報をここで見つけました https://velog.io/@iwaskorean/JavaScript-33가지-개념-2.-Primitive-Types원시-자료형-원시-타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol