Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

Leeyanggoo

[JS] 자바스크립트 데이터 저장하기 : 변수 배열 객체 본문

2023/JavaScript

[JS] 자바스크립트 데이터 저장하기 : 변수 배열 객체

Leeyanggoo 2023. 2. 26. 14:57

01. 변수 : 데이터 저장

변수는 데이터를 저장하는 저장소다.

 

var x = 100;            //변수 x에 숫자 100을 저장함
var y = 200;            //변수 y에 숫자 200을 저장함
var z = "javascript";   //변수 z에 문자 "javascript"를 저장함

console.log(x);		//100
console.log(y);		//200
console.log(z);		//javascript

 

변수는 3가지 선언자가 있다.

변수는 var, let, const 3가지의 선언자가 있다.
'var'은 동일한 변수로 재선언도 가능하고, 이미 선언된 변수에 새로운 값을 재할당 할 수 있다.
'let'은 동일한 변수로 재선언은 불가능하지만, 이미 선언된 변수에 새로운 값을 재할당 할 수 있다.
'const'는 동일한 변수로 재선언도 불가능하고, 이미 선언된 변수에 새로운 값도 재할당 할 수 없다.
'var'은 재선언에 대한 문제 때문에 잘 쓰이지 않고, 상황에 따라 let과 const를 사용하는 것이 좋다.
변수는 var(선언자) x(변수) = 100(데이터)로 변수에 데이터를 저장한다.


02. 변수 : 데이터 저장 + 데이터 변경

변수는 데이터를 저장할 수도 있지만 변경도 가능하다.

 
let x = 100;
let y = 200;
let z = "javascript";

x = 300;		//데이터 변경
y = 200;
z = "react";

console.log(x);		//100
console.log(y);		//200
console.log(z);		//javascript

 

선언된 변수에 값을 재할당 할 수 있다.

x, y, z에 각각 데이터를 저장했어도 이후의 재선언으로 변경이 가능하다.
다만 let은 데이터의 변경이 아닌 let x = 300;과 같은 동일 변수의 재선언은 불가능하다.


03. 변수 : 데이터 저장 + 데이터 변경 + 데이터 추가

변수는 저장한 데이터를 변경, 추가하는 것도 가능하다.

 

let x = 100;
let y = 200;
let z = "javascript";

x += 300;			//x = x + 300
y += 400;			//y = y + 400
z += "react"		//z = z + "react"

console.log(x);		//400
console.log(y);		//600
console.log(z);		//javascriptreact

 

연산자를 통해 데이터를 추가할 수 있다.

변수를 이용해서 연산이 가능하다.
연산자에는 산술 연산자, 대입 연산자, 비교 연산자, 논리 연산자 등이 있다.


04. 상수 : 데이터 저장 + 데이터 변경(X)

상수는 데이터 저장은 가능하나 변경은 불가능하다.

 

const x = 100;
const y = 200;
const z = "javascript";

x = 300;            
y = 400;
z = "react";        	//상수에 저장한 값은 바꿀 수 없습니다.

console.log(x);
console.log(y);
console.log(z);		//undefined

 

상수를 정하는 선언자 'const'

const를 통해 선언한 변수는 '상수'라고 하며 let과 같이 중복 선언이 불가능하다.
또한 상수는 값을 재지정할 수도 없다.


05. 배열 : 데이터 저장(여러 개) : 표현방법1

배열은 여러 데이터를 저장한다.

 

const arr = new Array();
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";

console.log(arr[0]);	//100
console.log(arr[1]);	//200
console.log(arr[2]);	//javascript

 

다양한 데이터를 저장하는 배열

선언자 const로 변수 arr에 배열 생성자 'Array()'로 배열을 저장한다. 'new'는 변수의 타입을 정하는 자바스크립트 연산자다.
배열에서의 대괄호([])에 넣는 숫자는 배열의 위치를 가리키는 숫자이며, 인덱스(index)라고 한다.
인덱스는 0부터 시작하며 양의 정수만 가능하다.


06. 배열 : 데이터 저장(여러 개) : 표현방법2

저장된 여러 개의 데이터를 한 줄에 나타낸다.

 

const arr = new Array(100, 200, "javascript");

console.log(arr[0]);	//100
console.log(arr[1]);	//200
console.log(arr[2]);	//javascript

 

저장된 데이터를 표시하는 여러 방법이 있다.

각각의 인덱스에 저장된 데이터를 일일이 나열하지 않고 배열 생성자 Array()안에 나타내면 코드가 간결해진다.


07. 배열 : 데이터 저장(여러 개) : 표현방법3

대괄호([])는 배열을 만드는 기호이다.

 

const arr = [];
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";

console.log(arr[0]);	//100
console.log(arr[1]);	//200
console.log(arr[2]);	//javascript

 

배열 선언을 간단히 해보자.

배열을 선언했던 new Array()는 대괄호([])로 함축적이고 직관적으로 표현이 가능하다.


08. 배열 : 데이터 저장(여러 개) : 표현방법4

배열을 좀 더 직관적으로 표현한다.

 

const arr = [100, 200, "javascript"];

console.log(arr[0]);	//100
console.log(arr[1]);	//200
console.log(arr[2]);	//javascript

 

가장 직관적인 표현방법

배열 생성자 Array()의 괄호 안에 데이터를 저장했듯이, 대괄호([]) 안에 데이터를 나타내는 것도 가능하다.
코드는 함축적이고 직관적으로 적어야 유지 및 보수에 좋기 떄문에 최대한 그렇게 적을 수 있도록 노력해야 한다.


09. 객체 : 데이터 저장(키와 값) : 표현방법1

객체의 키에 배열 방식 적용이 가능하다.

 

const obj = new Object();
obj[0] = 100;
obj[1] = 200;
obj[2] = "javascript";

console.log(obj[0]);	//100
console.log(obj[1]);	//200
console.log(obj[2]);	//javascript

 

객체는 키(key)와 값(value)으로 이뤄진다.

객체는 키로 값을 불러온다. 그 키와 값들은 속성(property)이라고 부른다.
객체 변수로 선언된 obj는 배열 방식([])을 키로 이용하여 값을 저장하고 불러올 수 있다.


10. 객체 : 데이터 저장(키와 값) : 표현방법2

객체는 키를 호출할 때 "변수명.키"로 한다.

 

const obj = new Object();
obj.a = 100;
obj.b = 200;
obj.c = "javascript";

console.log(obj.a);	//100
console.log(obj.b);	//200
console.log(obj.c);	//javascript

 

객체의 키를 부르는 방법

앞서 배열은 대괄호([])에 인덱스를 넣어 데이터를 불러왔다면, 객체는 "변수명.키"로 데이터를 불러온다.


11. 객체 : 데이터 저장(키와 값) : 표현방법3

중괄호({})는 객체를 만드는 기호이다.

 

const obj = {};
obj.a = 100;
obj.b = 200;
obj.c = "javascript";

console.log(obj.a);	//100
console.log(obj.b);	//200
console.log(obj.c);	//javascript

 

객체 선언을 간단히 해보자.

앞서 배열의 선언을 대괄호([])로 했듯이, 객체는 중괄호({})로 표현한다. 'new Object'보다 더 직관적인 표현 방법이다.


12. 객체 : 데이터 저장(키와 값) : 표현방법4

객체의 키와 값은 콜론(:)으로 한 쌍으로 표현할 수 있다.

 

const obj = {a:100, b:200, c:"javascript"};

console.log(obj.a);	//100
console.log(obj.b);	//200
console.log(obj.c);	//javascript

 

객체 속성의 표현방법

객체는 키와 값의 구조로 되어 있으며 이들을 속성(property)이라고 부른다.
속성은 콜론(:)을 기준으로 왼쪽에 키, 오른쪽에 값으로 '키:값'으로 표현한다.


13. 객체 : 데이터 저장(키와 값) : 표현방법5 : 배열 안에 객체

배열 안에 객체가 들어간 형식의 데이터 저장도 가능하다.

 

const obj = [
    {a: 100, b: 200},
    {c: "javascript"}
];

console.log(obj[0].a);	//100
console.log(obj[0].b);	//200
console.log(obj[1].c);	//javascript

 

배열 안에 들어간 객체를 호출하는 방법

배열 안에 들어간 객체 하나하나가 배열의 인덱스라고 본다.
배열을 먼저 호출한 뒤([])에 객체의 키로 저장된 값(키:값)을 부른다([].키).


14. 객체 : 데이터 저장(키와 값) : 표현방법6 : 객체 안에 배열, 중첩 객체

객체는 여러 데이터 타입이 중첩된 데이터의 저장이 가능하다.

 

const obj = {
    a: 100,
    b: [200,300],
    c: {x:400, y:500},
    d: "javascript"
}

console.log(obj.a);	//100
console.log(obj.b[0]);	//200
console.log(obj.b[1]);	//300
console.log(obj.c.x);	//400
console.log(obj.c.y);	//500
console.log(obj.d);	//javascript

 

중첩된 데이터 타입을 호출하는 방법

객체 속에 들어간 여러 중첩된 데이터 타입을 호출할 땐 HTML의 부모, 자식 요소를 생각하면 된다.
처음 지정하는 객체를 부모 요소라 보고 그 안에 들어간 속성이나 배열, 객체를 자식 요소라고 생각한다.
class 안의 id를 지정할 때 "#class .id"라고 하듯이 "변수명.키"로 시작해서 그 안에 속한 데이터를 한 번 더 부르는 것이다. (변수명.키[] 또는 변수명.키.키)


15. 객체 : 데이터 저장(키와 값) : 표현방법7

객체는 변수를 속성으로 저장할 수 있다.

 

const a = 100;
const b = 200;
const c = "javascript";

const obj = {a, b, c};

console.log(a);	//100
console.log(b);	//200
console.log(c);	//javascript

 

속성이 변수인 객체 호출 방법

앞서 변수로 선언된 변수명을 객체에 저장하고 그 변수명만 호출하면 값을 볼 수 있다.


16. 객체 : 데이터 저장(키와 값) : 표현방법8

객체의 속성으로 함수가 들어갈 수 있다. 함수를 호출할 땐 다른 문법이 필요하다.

 

const j = "javascript";

const obj = {
    a: 100,
    b: [200, 300],
    c: "javascript",
    d: function(){
        console.log("javascript가 실행되었습니다.");
    },
    e: function(){
        console.log(obj.c + "가 실행되었습니다.");  //(obj.c = j = "javascript")
    },
    f: function(){
        console.log(this.c + "가 실행되었습니다.")  //this.는 자신이 속한 객체를 가리킨다. 
    }
}

console.log(obj.a);		//100
console.log(obj.b[0]);		//200
console.log(obj.b[1]);		//300
console.log(obj.b[2]);		// undefined 정의할 수 없는, 값이 지정되지 않은 경우
console.log(obj.c);		//javascript
console.log(obj.d);		//ƒ (){console.log("javascript가 실행되었습니다.");}
obj.d();			//javascript가 실행되었습니다.
obj.e();			//javascript가 실행되었습니다.
obj.f();			//javascript가 실행되었습니다.

 

함수 호출 방법

함수의 생성자는 function()으로 실행문을 통해 호출한다. 실행문은 ()를 붙여써야 한다.
실행문을 쓰지 않은 'console.log(obj.d);'의 경우
ƒ (){
console.log("javascript가 실행되었습니다.");
}
라는 의도하지 않은 데이터 값이 도출된다.

불러오려는 값 중에 이미 존재하는 속성 값이 있다면, 해당 속성 값을 지닌 변수나 객체, this를 통해 대체할 수 있다.