아랄라랄라
R 스토리
아랄라랄라
전체 방문자
오늘
어제
  • All (197)
    • Web (144)
      • Markup | WEB (9)
      • Styles (45)
      • javascript (32)
      • jquery (28)
      • vue (16)
      • react (10)
      • more (4)
    • IT (31)
      • CS (3)
      • git hub (5)
      • UI | UX (18)
      • more (5)
    • ETC (22)
      • 이슈노트 (12)
      • 스터디 (10)
      • 아랄라 ☞☜ (0)
      • JOB🛠 (0)

인기 글

반응형
hELLO · Designed By 정상우.
아랄라랄라
ETC/스터디

[자바스크립트] 원시값과 참조값 이해하기

ETC/스터디

[자바스크립트] 원시값과 참조값 이해하기

2023. 12. 6. 16:38

 

 

 

 

왜 원시값과 참조값은 볼때마다 초면일까?...

이해할때까지 보고 또 보고 정리할거다.

 

 

 

 

 

 

 

 

 


 

 

 

 

 

원시값(Primitive Values)

 

  • 개념
    • 원시값은 하나의 단순한 값으로, 텍스트, 숫자, 불리언 등이 있다.
    • 이 값들은 하나의 상자에 넣어서 보관할 수 있다.
  • 특징
    • 불변성: 한 번 상자에 넣은 값은 바꿀 수 없다. 새로운 값을 만들려면 새로운 상자를 만들어야 한다.
    • 변수 간 복사: 값을 할당할 때 값 자체가 복사된다.
  • 종류
    1. 문자열(String) 
      • 비유: 한 개의 단어가 적힌 종이
      • 특징: 종이에 다른 단어를 적으면 새로운 종이가 필요하며, 한번 적힌 단어를 수정할 수 없다.
    2. 숫자(Number)
      • 비유: 숫자가 적힌 계산기 디스플레이
      • 특징: 계산기에 다른 숫자를 입력하면 현재 디스플레이에 있는 숫자는 그대로 남아 있고, 새로운 숫자가 표시된다.
    3. 불리언(Boolean)
      • 비유: 두 가지 선택지를 표시하는 스위치
      • 특징: 한 번 스위치를 올리면 참(true)을 나타내고, 내리면 거짓(false)을 나타낸다.
    4. null
      • 비유: 아무것도 없는 상자
      • 특징: 비어 있고 아무 값도 포함하고 있지 않다.
    5. undefined
      • 비유: 선물 상자를 아직 열지 않은 상태
      • 특징: 값이 할당되지 않았거나 초기화되지 않음
    6. 심볼(symbol)
      • 비유: 유일한 식별자가 부여된 이름표
      • 특징: 각기 다른 값을 가지며, 새로운 값을 생성할 때마다 고유한 이름이 부여된다.

 

 

 

 

 

 


 

 

 

 

 

 

참조값(Reference Values)

 

  • 개념
    • 참조값은 복잡한 것들을 담을 수 있는 상자에 비유할 수 있다.
    • 여러 개의 값이나 정보들을 담을 수 있고, 한 상자 안에 다른 상자들이 들어갈 수 있다.
  • 특징
    • 가변성: 상자 안의 내용물을 변경할 수 있다. 상자 안의 내용물이 변경되면 같은 상자를 가리키는 다른 변수들도 영향을 받는다.
    • 참조에 의한 전달: 변수들이 같은 상자를 가리킴으로써 서로 연결돼 있다. 한 변수에서 상자 안의 내용을 바꾸면 같은 상자를 가리키는 다른 변수들도 영향을 받는다.
  • 종류
    1. 객체(Object)
      • 비유: 여러 속성이 있는 상자. 다양한 유형의 물건을 담을 수 있다.
      • 특징: 상자 안의 내용을 변경할 수 있고, 다른 변수가 같은 상자를 가리킬 수 있다.
    2. 배열(Array)
      • 비유: 여러 개의 상자가 일렬로 정렬된 선반
      • 특징: 여러 개의 값을 담을 수 있고, 각 상자에는 순서가 있다.
    3. 함수(Function)
      • 비유: 기능이 있는 도구 상자
      • 특징: 코드를 묶어 재사용 가능하며, 다른 변수가 이 도구 상자를 사용할 수 있다.

 

 

 

 

 

 


 

 

 

//원시값 예제
let num1 = 10;
let num2 = num1; //num1의 값이 복사됨

num2 = 20;
console.log(num1); //출력 결과: 10(num1은 변경되지 않음)



//참조값 예제
let arr1 = [1,2,3];
ler arr2 = arr1; //arr1이 가리키는 배열을 arr2도 가리킴

arr2.push(4);
console.log(arr1); //출력 결과: [1,2,3,4] (arr1도 영향을 받음)

 

 

728x90
저작자표시 (새창열림)

'ETC > 스터디' 카테고리의 다른 글

[알고리즘] ChatGPT 와 함께하는 알고리즘 풀기2  (0) 2024.01.22
[알고리즘] ChatGPT 와 함께하는 알고리즘 풀기1  (1) 2024.01.22
[자바스크립트] 객체  (0) 2022.01.10
[자바스크립트] 공부2  (0) 2018.05.21
[자바스크립트] 공부1  (0) 2018.05.17

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.