JavaScript의 Data Type을 왜 특별하다고 하는 것일까?

aksen5240·2023년 12월 26일
1

JavaScript

목록 보기
3/15
post-thumbnail

💡 JavaScript의 Data Type에 대해 왜 특별하다고 하는 것일까?

'유연성'이란 개발자들이 상당히 좋아하는 단어이다. JavaScript는 이러한 개발자들에게 유연성을 제공해준다고 한다. 그런데 나는 그동안 JavaScript를 쓰면서 '유연하다'라는 느낌을 크게 받지는 못했던 것 같다. 그렇다면 왜? 어떤 부분에 있어서? JavaScript가 유연하다고 하는 것일까? 나는 그동안 왜 이 '유연성'을 크게 느끼지 못했을까?

JavaScript는 동적 타이핑 언어이며, 다른 프로그래밍 언어와 비교했을 때, 그 특징 중 하나로 데이터 타입이 상대적으로 유연하다. 이 말은, 변수를 선언할 때 데이터 타입을 명시적으로 지정하지 않아도 된다는 것을 의미한다.

이러한 JavaScript의 장점을 잘 숙지하기 위해, Data Type부터 차근차근 알아가보고자 한다.


JavaScript의 데이터 타입

Java Script의 데이터 타입은 크게 Primitive Type(원시 타입, 기본형)과 Object Types / Reference Type(객체 타입, 참조형)으로 분류된다.

Primitive Type은 변경 불가능한 값(immutable values)으로, 변수에는 실제 데이터 값이 저장된다.
Object Type은 이름과 값의 집합으로 구성되며, 다양한 데이터와 기능을 하나의 단위로 묶어 표현하는 유연한 자료구조이다.


Primary Type

📌 1. number

  • 숫자를 나타내는 Data Type이다.

  • JavaScript는 숫자 형태의 값을 계산할 때 계산하는 방식이나 우선순위에 있어서 기본적인 사칙연산을 따른다.

📌 2. string

  • 문자열을 나타내는 Data Type이다.

  • 문자열은 우리가 사용하는 글자들을 값으로 표현할 때 쓰는 자료형이다.

  • ' ' 혹은 " "로 둘려쌓여 있는 것은 모두 문자열로 볼 수 있다.

  • 문자열을 출력할 때 template strings를 사용하면 더욱 가독성 있는 clean code를 짤 수 있다.

    // bad example
    let bad_ex = "제 나이는" + age + "살이고, 키는 " + height + "cm입니다!"
    
    // good example (by using template strings)
    let good_ex = `제 나이는 ${age}살이고, 키는${height}cm입니다.`
  • 문자열 내부에서 변수나 표현식을 사용하려면 백틱을 사용하는 템플릿 리터럴 방식을 사용할 수 있다.

    💡 cf> 템플릿 리터널 방식이란?
    템플릿 리터럴이란 자바스크립트에서 문자열을 입력하는 방식이다. 기존에는 var str = 'Hello ES6'와 같은 방식으로 사용하였으나 ES6에서는 백틱(back-tick)이라는 기호(`)를 사용하여 정의한다.

    const str = `Hello ES6`;

    위와 같이 백틱을 이용하게 되면 여러 줄에 걸쳐 문자열을 정의할 수도 있고, 자바스크립트의 변수를 문자열 안에 바로 연결할 수 있는 이점이 생긴다.

📌 3. boolean

  • 참과 거짓을 표현하는 Data Type.

  • 참(true) 또는 거짓(false)만을 값으로 가진다.

📌 4. undefined

  • 값이 할당되지 않은 상태의 Data Type.

    • 선언만 하고 아무런 것도 지정하지 않은 상태를 나타낸다.
  • JS는 변수를 초기화할 때 암묵적으로 값이 할당되지 않은 상태인 undefined를 할당한다. 이는 자바스크립트 엔진이 사용하는 값으로, 개발자가 의도적으로 할당하지 않는 것이 좋다.

📌 5. null

  • 값이 없는 상태의 Data Type.

  • undefined처럼 값이 없는 상태를 나타내지만, 개발자가 의도적으로 표현할 때 사용한다.


Object Type

📌 Object Type 개요

  • 자바스크립트에서 대부분은 객체로 이루워져 있다.
  • 일반적인 Object 외에도 함수(Function), 배열(Array), 날짜(Date), 정규식(RegExp) 등 다양한 내장 객체가 존재한다.
  • 객체(object)는 개념적으로 이해하면 여러 속성(properties)를 담고 있는 컨테이너라고 볼 수 있다

Outro

Object Type에 대한 자세한 내용, 그리고 Primary Type과 Object Type에 대한 차이점은 추후 객체에 대해 먼저 학습한 뒤 추후 게시글을 통해 더욱 자세히 알아보고자 한다.

profile
Tags of MyStudy🌱

0개의 댓글