[JAVA SCRIPT] 자바스크립트 자료형

차슈·2024년 3월 28일
0

JAVA SCRIPT

목록 보기
5/24
post-thumbnail
post-custom-banner

03. 자료형

동적 타입 언어

  • 동적 타입 언어 (dynamically typed): 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어
// no error
let message = "hello";
message = 123456;

숫자형

  • 숫자형(number type) 은 정수 및 부동소수점 숫자(floating point number)를 나타냄
  • 숫자형과 관련된 연산은 다양한데, 곱셈 *, 나눗셈 /, 덧셈 +, 뺄셈 - 등이 대표적
  • 숫자형엔 일반적인 숫자 외에 Infinity, -Infinity, NaN같은 '특수 숫자 값(special numeric value)'이 포함
let n = 123;
n = 12.345;

문자형

  • 문자열(string)을 따옴표로 묶음
let str = "Hello";
let str2 = 'Single quotes are ok too';
let phrase = `can embed another ${str}`;
  • 따옴표는 세 종류가 있습니다.
  1. 큰따옴표: "Hello"
  2. 작은따옴표: 'Hello'
  3. 역 따옴표(백틱, backtick): Hello

→ 큰따옴표와 작은따옴표는 ‘기본적인’ 따옴표로, 자바스크립트에서는 이 둘에 차이를 두지 않음

  • 역 따옴표로 변수나 표현식을 감싼 후 ${…}안에 넣어주면, 아래와 같이 원하는 변수나 표현식을 문자열 중간에 손쉽게 넣을 수 있음
let name = "John";

// 변수를 문자열 중간에 삽입
alert( `Hello, ${name}!` ); // Hello, John!

// 표현식을 문자열 중간에 삽입
alert( `the result is ${1 + 2}` ); // the result is 3

💡 큰따옴표나 작은따옴표를 사용하면 중간에 표현식을 넣을 수 없다는 점에 주의!
이 방법은 역 따옴표를 써야만 가능

불린형

  • 불린형(논리 타입)은 truefalse 두 가지 값밖에 없는 자료형
  • 긍정(yes)이나 부정(no)을 나타내는 값을 저장할 때 사용합니다. true는 긍정, false는 부정을 의미
let nameFieldChecked = true; // 네, name field가 확인되었습니다(checked).
let ageFieldChecked = false; // 아니요, age field를 확인하지 않았습니다(not checked)
// 비교 결과 저장
let isGreater = 4 > 1;

alert( isGreater ); // true (비교 결과: "yes")

null

  • null 값은 지금까지 소개한 자료형 중 어느 자료형에도 속하지 않는 값
  • 자바스크립트의 null은 자바스크립트 이외 언어의 null과 성격이 다름
    • 자바스크립트에선 null을 ‘존재하지 않는(nothing)’ 값, ‘비어 있는(empty)’ 값, ‘알 수 없는(unknown)’ 값을 나타내는 데 사용

ex) let age = null;나이(age)를 알 수 없거나 그 값이 비어있음을 보여줌

typeof 연산자

  • typeof 연산자는 인수의 자료형을 반환
  • 자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 유용
  • typeof 연산자는 두 가지 형태의 문법을 지원
  1. 연산자: typeof x
  2. 함수: typeof(x)typeof x를 호출하면 인수의 자료형을 나타내는 문자열을 반환
typeof undefined // "undefined"

typeof 0 // "number"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "foo" // "string"

typeof Symbol("id") // "symbol"

typeof Math // "object"  (1)

typeof null // "object"  (2)

typeof alert // "function"  (3)
post-custom-banner

0개의 댓글