JSは2週間勉強します.JavaScript基本構文、データ型、変数
9033 ワード
データ型と変数
JSでのデータ型
JavaScript(ES 6)には8種類のデータ型があります.
データ型
元のタイプ
オブジェクト以外のすべてのタイプでは、変更できない値が定義されています.
これを元のタイプと呼び、変更できない値がどういう意味かを見てみましょう.
a変数を生成して初期化する.値が指定されていない場合、undefinedはメモリに
a変数に「hello」値を指定すると、既存の101番アドレスに書き込むのではなく、新しいアドレスに値が含まれます.
a変数にhiという値を再割り当てすると、その値は新しい104番アドレスに含まれます.
call by value
です.文字列の一部を変更すると、一部だけが変更される場合がありますが、実際には変更された文字列が新しいメモリに保存されているため、全体的な変更と変わりません.
オブジェクトタイプ
オブジェクトとは、識別子として参照できるメモリの値です.
オブジェクトの数が不確定です.
オブジェクトには変更可能なフィーチャーがあります.
識別子:識別子は一意の名前で、任意の値を識別することで値を識別できます.
Property:
키:값
ペアはPropertyです.上記のピクチャのa変数にオブジェクトを割り当てると、直接値ではなく参照値が格納されます.
このような変更可能な特徴があるのは、オブジェクトに多くのpropertyがあるためです.これらのpropertyを再作成して使用するたびに、効率が非常に低下します.そのため、価格を変えることができ、効率を高めることができます.
この値は可変です.
call by reference
です.しかし、この変更可能性は、複数の識別子が同時に1つのオブジェクトにアクセスできることを意味し、位置オブジェクトの共有をもたらす.
浅い放射
複数の識別子が1つのオブジェクトを共有できるため、浅いコピー後に変更された値は、オブジェクト全体を変更します.
let person1 = {name: 'jamong'}
let person2 = person1; // 얕은 복사 일어남.
person2.name='oseung' // name에 'oseung'할당.
console.log(person1) // {name: 'oseung'}
console.log(person2) // {name: 'oseung'}
ふかほうしゃ
let person1 = {name: 'jamong'}
let person2 = {...person1}; // 깊은 복사 일어남.
person2.name='oseung' // name에 'oseung'할당.
console.log(person1) // {name: 'jamong'}
console.log(person2) // {name: 'oseung'}
元のタイプ
数値タイプ
名前の通り、整数と実数の区別がない数字タイプです.(内部では、これらはすべて予期せぬデータ処理です)
// 모두 숫자 타입
const integer = 7;
const double = 10.222;
const binary = 00111;
文字列タイプ
テキストデータを表す文字列タイプ
const str = '안녕하세요'
const str1 = "안녕하세요"
const str2 = `안녕하세요`
不規則なタイプ
真/偽の不規則なタイプを表す
const a = true;
const b = false;
未定義のタイプ
変数を宣言した後、値が設定されていない場合は、定義されていない変数に値を割り当てます.
var a;
console.log(a); // undefined
空のタイプ
変数に値がないことを意図的に宣言するために使用します.
let a = null;
console.log(typeof a); // null
シンボルタイプ
ES 6に追加されたタイプは、変更できない元のタイプの値です.
これは、他の値と重複しない一意の値です.
// case 1
const a = 'sample'
const b = 'sample'
console.log(a===b) // true
// case 2
const a = Symbol('sample');
const b = Symbol('sample');
console.log(a===b) //false
BigIntタイプ
ES 2020に追加されたタイプは、既存の数字では処理できない大きな数を処理します.
const num = 123123123n;
console.log(typeof num); // bigInt
オブジェクトタイプのタイプ
オブジェクト、関数、配列などの元の値を除いて、他のタイプはオブジェクトタイプです.
リファレンス
https://junwoo45.github.io/2019-11-04-memory_model/
Reference
この問題について(JSは2週間勉強します.JavaScript基本構文、データ型、変数), 我々は、より多くの情報をここで見つけました
https://velog.io/@wkahd01/JS-스터디-2주차.-자바스크립트-기본-문법-데이터-타입과-변수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(JSは2週間勉強します.JavaScript基本構文、データ型、変数), 我々は、より多くの情報をここで見つけました https://velog.io/@wkahd01/JS-스터디-2주차.-자바스크립트-기본-문법-데이터-타입과-변수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol