Meme's IT

[JS] 데이터 타입 본문

FrontEnd/JavaScript

[JS] 데이터 타입

Memez 2023. 10. 24. 09:50

JavaScript의 데이터 타입은 크게 원시자료형참조 자료형으로 나뉜다

 

  • 원시 자료형
    • 변수에 값이 직접 저장되는 자료형
    • 불변, 값이 복사 → 변수들끼리 서로 영향 없음
    • Number, String, Boolean, undefined, null
  • 참조 자료형
    • 객체의 주소가 저장됨
    • 가변적, 주소가 복사 → 변수들끼리 서로 영향을 끼침
    • Objects(Object, Array, Function) 
const ob1 = { name: 'youngbok', age: 20}
const ob2 = ob1
ob2.age = 25

console.log(ob1.age) // 25
console.log(ob2.age) // 25

 

# 원시 자료형

1. Number: 정수 또는 실수형 숫자

2. String: 텍스트 데이터를 표현하는 자료형 (= 문자열)

 

  • '+' 연산자를 이용해서 문자열끼리 결합 가능
  • 작은 따옴표가 추천됨
  • 템플릿 리터럴(= 파이썬의 f string): 백틱(`)을 사용, 표현식은 $와 {expression}를 사용
const age = 100
const message = `홍길동은 ${age}세 입니다`

※  참고: 문자열 비교

더보기

JS에서 문자열은 '원시 타입 문자열''객체처럼 쓰는 문자열'이 따로 있다

let str = "test"
//  new: 새로운 객체를 만들겠다
let str2 = new String("test")

console.log(typeof(str))		// string
console.log(typeof(str2))		// object

console.log(str)		// test
console.log(str2) 		// 사진 참고

console.log(str2.toUpperCase()) // TEST, 객체니까 함수가능

근데....

console.log("test".toUpperCase())	// TEST

얘도 돌아감... 객체가 아닌데... 이게 왜 댐?

→ JS는 내부적으로 원시타입에 대해 내장 객체를 갖고 있음

원시 타입 사용시에 내작 객체로 알아서 해석...

JS가 개같은 이유

3. null: 변수에 값이 없음을 의도적으로 표현할 때 사용

4. undefined: 변수 선언 이후 직접 값을 할당하지 않으면 자동으로 할당

let a = null	// null
let b 		// undefined

5. Boolean(True / False): 조건문 또는 반복문에서 Boolean이 아닌 애들은 자동형변환 됨

(≒ 파이썬에서 0은 false, 1은 True인 것과 비슷)

'FrontEnd > JavaScript' 카테고리의 다른 글

[JS] 조건문과 반복문  (0) 2023.10.24
[JS] 연산자  (0) 2023.10.24
[JS] JavaScipt의 변수  (0) 2023.10.24
[JS] JavaScript와 DOM  (0) 2023.10.23
[JS] JavaScript 개요  (0) 2023.10.23