Kimsora✨
320x100
반응형

원시자료형

원시값(문자열, 숫자 등)을 마치 객체처럼 다룰 수 있게 해주며 .원시값에도 객체에서처럼 메서드를 호출할 수 있다  그 전에, 원시값은 객체가 아니면서 method를 가지지 않는 6가지의 타입이다 

  • 원시형 값입니다.
  • 원시형의 종류는 문자(string), 숫자(number), bigint, 불린(boolean), 심볼(symbol), null, undefined형으로 총 일곱 가지 입이다.
  • string, number, bigint, boolean, undefined, symbol, (null)
  • 원시 자료형의 보관함인 변수에는 하나의 데이터만 담을 수 있다.
"hello world!"
"hello codestates!"
=>"hello world!" 와 "hello codestates!"는 모두 변경할 수 없는 고정된 값입니다.

let word = "hello world!"
word = "hello codestates!"
=> 하지만, word라는 변수에 재할당을 하여 변수에 담긴 내용을 변경하는 것은 가능합니다.

const num1 = 123;
num1 = 123456789; // 에러 발생
=> const 키워드로 선언하면, 재할당은 불가합니다.
let a = 1;	
 b=a; //데이터를 복사할 경우
 b=2; 
 a; =>1, ★기존의 데이터에 영향이 가지 않는다

참조 자료형

  • 원시 자료형이 아닌 모든 것은 참조 자료형. 배열([])과 객체({}), 함수(function(){})가 대표적
  • 참조 자료형을 변수에 할당할 때는 변수에 값이 아닌 주소를 저장(reference data type).
  • 하나의 주제는 있지만 분명 서로 다르고, 여러 개의 데이터를 가지고 있다.
  • 동적으로 크기가 변하는 특별한 보관함을 사용
let x = { foo: 3 };
let y = x;
y.foo = 2;
 코드가 실행된 후, x.foo의 값 :2
 =>x와 변수 y에 모두 같은 { foo : 3 } 이라는 객체의 주소를 바라보고 
 	y.foo = 2, 값이 3이었던 y.foo에 2를 할당을현재는 같은 주소를 바라보고 있는
 	y.foo가 2로 변경이 되었으니, 같은 곳을 바라보고 있었던 x.foo도 2가 되어야 한다
    
    
    
let myArray = [2, 3, 4, 5];
let ourArray = myArray;
ourArray[2] = 25;
ourArray = undefined;
코드가 실행된 후, myArray의 값 :[2, 3, 25, 5]
=>변수 ourArray에 myArray의 주소값이 할당,ourArray 주소값에 위치한 배열의 2번째 요소를 25로 변경 
	ourArray와 myArray의 주소값은 같음으로 현재 myArray는 [2, 3, 25, 5]
	이제 변수 ourArray에 원시 자료형 undefined가 할당되었기 때문에, myArray에 접근할 수 없다 
	하지만 myArray는 그대로 [2, 3, 25, 5]
728x90
반응형

'Javascript' 카테고리의 다른 글

클로저 ★  (0) 2022.09.06
스코프  (0) 2022.09.06
객체 (Object)  (2) 2022.09.05
배열의 매서드  (2) 2022.09.02
문자열  (0) 2022.08.25
profile

Kimsora✨

@sorarar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그

WH