[Javascript] 변수의 타입_원시형, 참조형

wool·2022년 7월 13일

Javascript

목록 보기
3/10

변수의 타입?


변수의 타입에는 숫자형 문자형 등 형태에 따른 분류가 있었다.

이 개념과는 다르게 이 변수의 값을 어디서 불러 오는가를 기준으로 타입을 나눌 수 있다.

이번 글에서는 데이터의 형태에 따른 타입이 아닌 데이터를 어떻게 불러오는지를 기준으로 나눈 타입에 대해서 알아보려고 한다.

변수가 그 값을 어디서 불러오는가에 따라 출력값이 달라지기 때문에

변수를 선언하고 그 변수를 잘 활용하기 위해서는 그 변수가 어떤 타입의 자료형인지 아는 것이 매우 중요하다.

원시 자료형 (Primitive data type) = 원시타입


자료의 형태에 따른 타입을 설명한 글에서 원시타입을 설명한 바가 있다.

이 자료형은 객체가 아니면서 메소드를 갖지 않는 6가지의 타입이다.

간단히 종류만 설명하자면 아래와 같다.

string, number, bigint, boolean, undefined, symbol,

(null은 원시 타입과 거의 같게 사용되지만 엄밀히 따지면 객체이다. 빈 참조를 나타내는 데 자주 사용됨)

number : 3.141592

string : ‘Hanamon’

boolean : true & false

undefined : 변수가 정의되지 않았거나 값이 없다.

null : 의도적으로 비어있음을 표현하기 위해 null 이라는 것이 들어있다.

symbol

이 원시자료형이 할당 될 때에는 변수에 값 자체가 담기게 된다.

선언된 변수에 있는 메모리에 직접적으로 접근한다.

원시타입을 복사하여 가져올 경우 참조형태가 아니기때문에 복사한 값에 변형을 줘도 처음 할당된 값에 영향을 미치지 않는다.

보통 let과 const로 선언하여 그 안에 할당하는데 const로 선언했을 경우 재할당은 불가능하다.

참조 자료형 (Reference data type) = 참조타입


원시자료를 제외한 모든 것들을 참조자료형으로 구분한다.

원시형 외의 모든 변수가 참조자료가 되지만 종류를 나열 해 보면 아래와 같다.

array : 배열형태

ex ) [a, b, c]

object : 객체 형태

ex ) { a : 1, b : 2, c : 3 }

💡 배열의 타입을 검사할 경우 배열도 `object` 로 나오게 된다. 배열인지 여부를 검사 할 때는 isArray를 사용해야한다.

function : 함수 형태

ex ) function a () {

return a

}

하나의 변수에 다양한 값을 담을 수 있다.

변수를 선헌 한 후 값을 할당하면 변수의 값이 저장된 heap의 주소를 저장한다.

변수를 선언하고 할당하는 방법과 순서에 따라 원 자료에 영향이 있을수도 있고 없을수도 있기 때문에 사용 시 어떤 변수가 어디로부터 값을 참조해서 가져오는지 정확히 알아야 한다.

profile
허위 정보 발견 시 댓글로 남겨주시면 감사하겠습니다.

0개의 댓글