데이터 타입

거북이·2024년 5월 10일

목차

원시 타입

1. string
2. number
3. boolean
4. null
5. undefined

원시 타입(Primitive values)

원시 값(primitive, 또는 원시 자료형)이란 객체가 아니면서 메서드 또는 속성도 가지지 않는 데이터입니다.
모든 원시 값은 "불변"하여 변형할 수 없습니다. 원시 값 자체와, 원시 값을 할당한 변수를 혼동하지 않는 것이 중요합니다.
변수는 새로운 값을 다시 할당할 수 있지만, 이미 생성한 원시 값은 객체, 배열, 함수와는 달리 변형할 수 없습니다.
언어에서는 원시 값을 변경하는 기능을 제공하지 않습니다. 대부분의 경우, 원시 값은 언어 구현체의 가장 저수준 단계에서 표현됩니다.
원시 값에는 7가지의 종류가 있지만 제가 일단 아는 5가지만 적어보겠습니다.

  • string
  • number
  • boolean
  • undefined
  • null

string

string 타입은 '', "" 로 작성한다. ex) '문자열', "문자열"
말 그대로 문자열이기 때문에 숫자를 "1" 이렇게 적어도 되고 숫자든 문자든 타입 정의가 다 가능합니다.

number

숫자형은 따옴표 없이 그냥 써도 됩니다. ex) 1, 2, 3, 10

boolean

boolean은 2진수로 논리학에서 참(true)과 거짓(false)을 나타내는 데 사용됩니다.
또한, 논리 연산이란 주어진 논리식을 판단하여 참(true)과 거짓(false)을 결정하는 연산입니다.

59 > 52 = true
0 < -100 = false

null

null은 개발자가 변수를 선언하고 직접 값을 0이나 없음으로 의도적으로 표시하는 데이터 타입을 말합니다.
예를 들어 휴지로 비유해서 설명해보자면 휴지를 다 쓰고 빈 휴지곽도 없을 때가 null입니다.

undefined

undefined는 변수를 선언하고 값을 할당하는 것을 까먹고 할당하지 못했거나
할당을 아직 하지 않았을 때 반환되는 데이터를 말합니다.
null과 같이 휴지로 비유해서 설명해보자면 휴지를 다 쓰고 빈 휴지곽은 남아있는 상태가 undefined입니다.

형변환 관련 정리

형변환은 자료형이 변환되는 것을 말합니다.
숫자에 문자를 더하게 되면 문자형으로 형변환이 일어납니다.

let number1 = 1
let number4 = "4"

1은 숫자형이었지만

let number14 = number1 + number4를 하게 되면
14라는 문자형으로 형변환 된다.

console.log(number1(숫자형) + number4(문자열);
즉 숫자형과 문자형이 같이 있을 때는 문자열로 변환된다. == 14
  
console.log(typeof number14);

결과 출력값은 위 이미지와 동일합니다.
typeof : 타입을 체크할 때 사용하는 내장 함수

간단하게 정리하자면

자료형

String (문자), Number(숫자), Boolean(true,false)
Undefined(변수는 선언되어 있으나 값을 할당하지 않음), null(변수 선언 후 값을 없음 할당)

동적 언어

자바와 다르게 자바스크립트는 int, string 데이터 타입을 정해줬을 때
같은 데이터 타입으로만 형변환할 수 있는게 아니라 따로 정해주지 않고
문자형에서 자료형으로 변환이 자유롭게 가능하다.

자바 = 정적 , 자바스크립트 = 동적

간단한 예제

let fifty = 50;
let twentyfive = "25";
x = fifty + Number(twentyfive);
// 원래 twentyfive 변수의 할당된 값은 문자형인 25라는 값인데 Number()으로 숫자형으로 형변환을 해줌
console.log(x); -> 75
// 그래서 결과값이 75가 나오게 된다.
console.log(fifty + twentyfive); -> 5025
// 숫자형과 문자형을 더하게 되면 숫자형이 문자형으로 자동 형변환 되어서 더해진다.
profile
초보 코린이입니다.

0개의 댓글