본문 바로가기
SeSAC 클라우드 기반 JAVA 풀스택 웹개발/3. JavaScript

[SeSAC] 참조 자료형

by Coarti 2024. 10. 24.

const arr = ['a', 'b', 'c', 'd', 'e'];

const otherArr1 = arr
const otherArr2 = arr

console.log(arr === otherArr1) // ture
console.log(arr === otherArr2) // ture
console.log(otherArr1 === otherArr2) // ture

otherArr1[2] = 't'

console.log(arr) // [ 'a', 'b', 't', 'd', 'e' ]

JS는 문자열||숫자 타입 외에 Object 타입일 경우

선언을 통해 할당하면 값이 직접 담기는 것이 아니라 간접적으로 값이 담긴 주소를 담는다

 

할당된 주소값을 다른 변수에 담을 경우 마찬가지로 주소값이 담기게 된다.

 

이로 인해 2가지 특징이 있다.

  1. const 선언된 상수의 데이터 변화
    •    상수에 저장된 것은 주소값이다. 따라서 배열의 값을 바꾼다는 것은 주소를 통해 저장된 값을 바꾸는 것이기 때문에 주소값에는 변화가 없다.
  2. 원본 데이터의 변화는 할당 받은 모든 변수에 영향을 미친다.

Map, Set, Object, Array 등 모두 해당한다.


JSON(JavaScript Object Notation)

자바스크립트의 오브젝트 표기법으로 문자열로된 Object를 뜻한다.

Object는 자바스크립트의 모든 데이터 타입을 의미한다.

 

이 문자열을 통신, 복사 등등에 사용되어 문자열을 다시 Object로 바꾸어 사용하게 된다.

728x90

'SeSAC 클라우드 기반 JAVA 풀스택 웹개발 > 3. JavaScript' 카테고리의 다른 글

[SeSAC] JS_함수  (0) 2024.10.25
[SeSAC] 조건문  (0) 2024.10.24
[SeSAC] 연산자  (0) 2024.10.23
[SeSAC] 선언과 할당  (0) 2024.10.23
[SeSAC] JavaScript(Node.js)  (2) 2024.10.21