javascript

기본 5. 자료형

케케_ 2024. 8. 30. 00:46

문서

 

값은 항상 자료형에 속하게 됨

8가지 자료형 존재

변수는 자료형에 관계 없이 데이터를 가질 수 있음

let message = "hello";
message = 123456;
  • 한 변수에서 다양한 자료형의 값을 가질 수 있다!

8가지 자료형

1. 숫자형

: 정수 및 부동소수점 숫자

  • 연산 가능: * , / , + , - , ...
  • 특수 숫자 값 포함
    • Infinity: 무한대
      • alert (1 / 0); --> 메세지 창에 Infinity 표시
    • NaN: 에러 발생을 나타내는 값
      • 부정확하거나 정의되지 않은 수학 연산에 대한 에러
      • alert( "가나다라" / 1);
  • JS에서 수학 연산은 안전!
    • NaN이 최대 오류임

2. BigInt

: 길에 상관 없는 정수 값

  • 정수 리터럴 끝에 n
const bigInt = 1234567890123456789012345678901234567890n;

 

3. 문자형

: 큰따옴표 "" , 작은 따옴표 '' , 역 따옴표(백틱) ``

  • 큰따옴표, 작은 따옴표: 기본
  • 역따옴표와 ${...}: 아래와 같이 변수나 식을 문자열 중간에 사용 가능
let name = "John";
alert( `Hello, ${name}!` ); // Hello, John!
alert( `the result is ${1 + 2}` ); // the result is 3

 

4. 불린형

:논리 타입으로 true(긍정, 1)와 false(부정, 0) 두 값만

  • 비교 결과 저장으로도 사용
let isGreater = 4 > 1;
alert( isGreater ); // true (비교 결과: "yes")

 

5. null

: 어느 자료형에도 속하지 않는 자료형으로 null 값만 포함

  • 자바스크립트에서의 null: 존재하지 않는 값, 비어 있는 값, 알 수 없는 값
    • 다른 언어: 존재하지 않는 객체에 대한 참조, 널 포인터

6. undefined 값

: null처럼 자신만의 자료형 형성/ 값이 할당되지 않은 상태 -> 변수는 선언 O, 값 할당 X

let age;
console.log(age); // 'undefined'가 출력

 

7. 객체

: 객체(object)는 특수한 자료형

  • 객체: 데이터 컬렉션이나 복잡한 개체(entity) 표현 가능

8. 심볼

: 객체의 고유한 식별자(unique identifier) 생성에 사용


- typeof 연산자

: 인수의 자료형 반환

 - 문법 형태 

  1. 연산자: typeof x
  2. 함수: 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)

 

object (1): Math는 연산을 제공하는 내장 객체

object (2): null 자료형이지만, 하위 호환성을 위해 object로 뜸

object (3): typeof는 함수의 경우 function을 반환, 하지만 "함수형"이라는건 없음!

 


과제: 값 예측

let name = "Ilya";
alert(`hello ${1}`); // ?
alert(`hello ${"name"}`); // ?
alert(`hello ${name}`); // ?

 

hello 1

hello name

hello Ilya

 

'javascript' 카테고리의 다른 글

7. 형 변환  (0) 2024.08.30
기본 6. alert, prompt, confirm을 이용한 상호작용  (0) 2024.08.30
기본 4. 변수와 상수  (0) 2024.08.30
기본 3. 엄격 모드 (strict mode)  (0) 2024.08.28
기본 2. 코드 구조  (0) 2024.08.28