🐨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 버튼으로 직접 실행할 수 있다.

구문

1. 변수

1.1.변수란?

✅ 변수(상수)란? 데이터(값/자료)를 저장 할 수 있는 메모리 공간

  • 변하는 값은 변수 let, var
  • 변하지 않는 값은 상수 const

✅ 변수 사용 이유

  • 변수를 쓰는 이유는 코드의 재활용성을 높여준다.

1.2.변수의사용

1.2.1. 선언과할당

let currentYear; //올해 연도의 변수 선언
let name; // 이름의 변수 선언
let age; // 나이의 변수 선언
let currentYear, name, age; //한번에 선언
//선언후 할당하기
let frontend;frontend = '김망고';
//선언과 할당을 동시에 하기
let letiable = '변수';

1-2-2-나이계산 프로그램 구현

실행

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>나이 계산하기</title>
  </head>
  <body></body>
</html>

실행

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>나이 계산하기</title>
  </head>
  <body>
    <script>
      let currentYear = 2021;
      let birthYear
      let age;
      birthYear = prompt('태어난 연도를 입력하세요. (YYYY)', '');
      age = currentYear - birthYear + 1;
      document.write(currentYear + '년 현재<br>');
      document.write(birthYear + '년에 태어난 사람의 나이는 ' + age + '세입니다.');
    </script>
  </body>
</html>

1.3. 변수의 특성

변수 키워드에 식별자를 작성하고 값을 넣는 과정을 초기화 한다라고 합니다. 우리가 변수를 선언하고 값을 할당하면 아래 3단계의 순서로 컴퓨터는 데이터를 메모리에 저장하게 됩니다. **① 선언 **: 변수를 생성하기 위해 식별자를 지정하는 단계 **② 할당 **: 변수에 값을 넣는 단계 **③ 초기화 **: 변수의 식별자에 값의 할당을 완료한 단계

1.3.1. var

var 키워드로 선언한 변수는 재선언과 재할당이 가능합니다. 실행

function addNumber(num1, num2) {
  return num1 + num2;
}
var sum = addNumber(10, 20);
console.log(sum);
sum = 50;//재할당
console.log(sum);
var sum = 100;//재선언
console.log(sum);

콘솔화면에는 변수의 값이 재할당과 재선언되어 위의 결과가 확인됩니다.

1.3.2. let

let 키워드로 선언한 변수는 재선언은 불가 재할당은 가능합니다. 실행

let x;
x = 1;//재할당가능
let x = 2;//재선언불가
document.body.innerHTML = `<h1>${x}</h1>`;

1.3.3. const

const 키워드로 선언한 변수는 재선언과 재할당이 불가능합니다. 실행

const currentYear = 2020;
const currentYear; //재선언불가
currentYear = 2100; //재할당불가
console.log(currentYear);

2. 자료형

2.1. 개요

Info: 자료형이란?

  1. 자료(data): 컴퓨터에서 처리할수 있는 모든 것
  2. 자료형(data type): 자료를 형태별로 분류해 놓은것


2.2. 종류

종류자료형설명예시
기본(원시) 유형Number숫자를 나타내는 데이터 타입. 정수 및 부동소수점 숫자를 포함.let num = 123;
String문자열을 나타내는 데이터 타입. 0개 이상의 16비트 유니코드 문자로 구성.let str = "Hello World";
Boolean논리적인 값을 나타내며 true와 false 두 가지 값을 가짐.let isTrue = false;
복합(참조) 유형ObjectJavaScript의 객체를 나타냄. 객체는 이름과 값으로 구성된 프로퍼티들의 집합.let obj = \{name: "John", age: 30\};
Array순서가 있는 요소들의 집합을 나타냄. 배열 요소에 접근하는 것은 대괄호([])를 사용하여 인덱스로 접근.let arr = [1, 2, 3];
Function실행 가능한 코드 블록을 가지며, 기능을 반복해서 사용할 수 있음.function sayHello() \{ alert('Hello!'); \}
특수 유형undefined변수가 선언되었으나 초기화되지 않았을 때의 값.let x; console.log(x); // 출력: undefined
null값이 없음을 의미. 변수에 명시적으로 할당해 사용.let y = null; console.log(y); // 출력: null

2.3. 원시형

typeof : 자료형을 확인하는 단항 연산자인 typeof와 함께 알아보자

//number
let num1 = 1;
let num2 = 2;
let sum = num1 + num2;
console.log('sum:', sum, typeof sum);
//string
let str1 = '1';
let str2 = '2';
let para = str1 + str2;
console.log('para:', para, typeof para);
//boolean
let fact = true;
let lie = false;
console.log('fact:', fact, typeof fact);
//null
let temp = null;
console.log('temp:', temp, typeof temp);
//undefined
let noName;
console.log('noName:', noName, typeof noName);

2.4. 참조형

원시형과 참조형의 차이는 쉽게 아래처럼 값을 여러개 나누어 저장할수 있다는 것에 있다.

▲ 원시타입은 한개의 물건을 저장하는 수납박스

▲ 참조타입은 한번에 여러개의 물건을 저장하는 수납박스이다

참조형을 생성해보자

//Object
let person = {
  name: "mimi",
  age: 20,
  city: "seoul",
};
console.log(person); //Array
let zoo = ["koala", "cat", "dog"];
console.log(zoo[0]);
let arr = [1, 2, 3, 4, 5];
console.log(arr);
//function
function addNums(num1, num2) {
  return num1 + num2;
}
console.log(addNums(5, 10));


목차

  • 구문