본문 바로가기
_TIL

20240724. TIL

by SILTEA 2024. 7. 25.

 

 

수업을 듣다가 자바스크립트의 자료형에 대하여 살짝 언급이 되었는데,
'자바스크립트는 다른 프로그래밍 언어와는 달리 자료형이 자유롭다'
라는 사실에 '얼마나 자유롭길래...'라는 궁금증에서 시작된 오늘의 공부!
자바스크립트 수업을 들으면서 자바 스크립트 자료형에 대해서

겉핥기로 쓱 훑고 간 거 같아서 조금 더 공부해볼까 한다.

 


자바스크립트의 자료형

  • 원시 유형 (primitive type)

 

  • 숫자형(number)

- 정수와 실수

- 큰 따옴표 없이 입력한 숫자 데이터.

typeof(32)	// 'number'
typeof("32")	// 'string'
typeof(32.6435)		// 'number'

 


  • 문자열(string)

문자

작은따옴표(')나 큰따옴표(")로 묶은 데이터.

큰 따옴표로 묶은 문자열 안 다른 문자열을 포함시켜야 할 때

   ➡️ 따옴표가 중복되지 않도록 안에 포함되는 문자열은 작은따옴표로 묶어 표현.

따옴표만 있고 내용이 없는 문자열은 '빈 문자열'

typeof("안녕하세요?")     //'string'
typeof("32")      //'string'
typeof("")      //'string', 빈 문자열

 

+ 문자열 안에서의 특수문자 표현

console.log('I\'m studying now.');	// I'm studying now.

 

특수문자 목록


 

  • 템플릿 리터럴(template literal)

문자열과 변수, 식을 섞어서 하나의 문자열을 만드는 표현 형식.

백틱(`)을 사용해 만든다.

변수나 식이 들어간다면 ${}로 묶고 태그나 띄어쓰기, 이스케이프 문자를 그대로 표시 가능하다.

소스에 줄을 바꿔 입력하면 출력 결과에서도 줄이 바뀌어 표시된다.

let studentName = "김수민"
let schoolName = "Oz Coding School"
console.log(
  `${studentName}님,
${schoolName}에 입학을 축하드립니다.`
);

// 김수민님,
// Oz Coding School에 입학을 축하드립니다.

 


 

  • 논리형 (Bollean), 불리언 유형

참(true)나 거짓(false)을 표현하기 위한 데이터 유형.

조건식에서 많이 사용.

10 > 2      // true
10 < 2      // false

 


 

  • truthy, falsy

'true로 인정할 수 있는 값''false로 인정할 수 있는 값'

falsy 외의 값은 truthy 한 값이 된다.

// falsy로 인정하는 값

0  // 숫자 0
""  // 빈 문자열
NaN // 숫자가 아님(Not a Number)
undefined
null0

 


 

  • undefined

값이 할당되지 않았을 때 변수의 초깃값.

값이면서 동시에 자료형.

빈 값인지, 유효한 값인지 정할 수 없는 상태.

   ➡️ 변수를 만들기만 하고 값을 할당하지 않았을 때 자바스크립트에서 자동으로 부여하는 초깃값.

let userName
console.log(userName);      //undefined

 


 

  • null

값이 없거나 유효하지 않은 값.

값이면서 동시에 자료형.

자바스크립트에서 반환하거나 사용자가 할당할 수 있는 값.

자바스크립트 프로그램에서는 값이 있는지의 여부를 확인할 때 변수의 값이 null인지, 아닌지 체크한다.

let age = null ;      //null

 

 


 

  • 객체 (object)

- 하나의 변수에 다양한 정보가 포함되어 있는 자료형

- 중괄호{} 안에 모든 정보를 담는다.

- 키(key)와 값(value)으로 하나 또는 여러 개의 쌍을 만들 수 있다.

- 여러 개의 '키:값'쌍을 쉼표(,)로 구분

   ➡️ 여러 개의 정보를 하나의 객체로 만들수 있다.

// 객체 기본형
객체명 = {
  키 : 값,
  키 : 값,
  ...
}

// 값에 접근하기
객체명. 키 이름
객체명["키 이름"]

 


 

  • 배열

하나의 변수에 여러개의 값을 저장할 수 있는 유형

대괄호[]로 묶고 그 안에 값을 나열.

각 값은 쉼표(,)로 구분.

대괄호 안에 아무 값이 없으면 '빈 배열'이라고 한다.

   ➡️ 인덱스 : 배열 내에서의 순서, 0부터 시작

// 배열 기본형
배열명 = [값, 값, ...]

 


 

  • 심벌(symbol)

ES6에 새롭게 추가된 원시 유형의 자료형.

유일성(고유성)을 가지고 있다.

객체에 속성을 추가할 때 고유한 키를 부여하여 다른 코드와 충돌하지 않도록 할 때 쓰인다.

   ➡️ 쉽게 말해 다른 객체와 중복되어 키의 값이 변경되는 것을 방지할 수 있다.

// 심벌
Symbol()

 

 


 

자바스크립트가 어렵다고 느껴지는 건 아무래도 제멋대로인 점인 것 같다.
미리 변수의 자료형을 지정하지 않고, 변수에 값을 할당하게 되면 그 값에 따라 자료형이 결정되는 점에서
어떻게 보면 편리하다고 느낄 수 없지만,
다양한 오류와 변수가 존재하는 프로그래밍 언어 안에서 자유롭게 변하는 자료형은
큰 단점으로 작용할 수 있는 것 같다.
저번 계산기 만들 때도 자료형이 제멋대로 바뀌는 바람에 연산을 진행하는 데 있어서 많은 어려움이 있었던 게 생각나버렸ㄷ.. 
그나저나 계산기 언제 고치지...

 


참고자료

'_TIL' 카테고리의 다른 글

20240806. TIL  (1) 2024.08.07
20240805. TIL  (0) 2024.08.06
20240723. TIL  (4) 2024.07.24
20240722. TIL  (5) 2024.07.23
20240719. TIL  (2) 2024.07.20