🐨CoalaCoding
DocsExamplesTry itBoardB반B반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • start
  • class
  • ai이미지-생성기-구현
  • 자료형
  • async--await
  • 변수와자료형
  • xmlhttprequest-부터axios-까지
  • 1-자바스크립트와-ecma
  • reduce
  • 캘린더-만들기
  • generator
  • destructuring
  • spread-operator
  • module-export-import
  • http-통신-이란
  • 시작
  • 2-자바스크립트-코드-실행-과정-및-용어정리
  • map
  • 동기와-비동기
  • 연산자
  • promise-thencatch
  • 3-실행컨텍스트와-스코프
  • 콜백-함수
  • 제어문
  • 4-클로저
  • windowlocation
  • 함수
  • 5-객체
  • 이벤트
  1. 홈
  2. 문서
  3. JavaScript
  4. JavaScript 기초
  5. 자료형

자료형

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

자바스크립트 데이터 타입

JavaScript에는 원시형(primitive type)과 참조형(reference type) 두 가지 유형의 데이터 타입이 있습니다. 원시형 데이터 타입은 변수에 직접 값을 할당하며, 참조형 데이터 타입은 변수가 객체를 참조합니다. 특징: 참조형 데이터는 가변(Mutable)합니다. 객체나 배열은 변경 가능하므로 동일한 참조를 공유하는 다른 변수들도 해당 변경 사항을 반영합니다.변수에 참조값(reference value)이 저장되며, 실제 데이터는 힙(Heap) 메모리에 저장됩니다.참조값은 객체나 배열의 위치 정보를 가리키므로, 여러 변수가 동일한 객체를 참조할 수 있습니다.

1.원시형(primitive type)

//number
let num1=1;
let num2=2;
let sum=num1+num2
console.log(sum,typeof(sum))

//string
let str1="1";
let str2="2";
let para=str1+str2
console.log(para,typeof(para))

//boolean
let fact=true;
let lie=false;
console.log(fact,typeof(fact))

//null
let temp=null;
console.log(temp,typeof(temp))

//undefined
let noName;
console.log(noName,typeof(noName))

nodeJS가 설치되어있는 경우 터미널로 실행해본다

2.참조형(reference type)

//Object
let person = {
	name: "John",
	age: 30,
	city: "New York",
};
console.log(person);

//Array
let arr = [1, 2, 3, 4, 5];
console.log(arr); 

//function
function addNums(num1, num2) {
  return num1 + num2;
}
console.log(addNums(5, 10));


3.객체(참조형)의 비교

Info: 객체, 함수등 비원시 타입의 값을 비교할때는 얕은 비교를 한다.

test1.js

자바스크립트에서 배열, 객체, 함수,정규표현식와 같은 비원시 타입의 값을 비교 할때는 얕은 비교 
즉, 데이터의 값 자체가 아닌 데이터가 저장되어있는 주소를 참조하는 방식의 비교를 한다.
값이 같은지가 아니라 주소가 같은지를 비교하게 되는것이다.


let a = { count: 1 };
let b = { count: 1 };
if (a === b) {
  console.log("equal");
} else {
  console.log("not equal");
}
결과

test2.js

해결방법
아래의 코드는 변수의 값은 같으나 콘솔값은 다르다


let a = { count: 1 };
let b = a;
if (a === b) {
  console.log("equal");
} else {
  console.log("not equal");
}

목차

  • 구문