본문 바로가기

JavaScript ◡̈/inflearn JavaScript

[JavaScript] programmers part 3 자료형

 

 

JavaScript에서는 변수 선언할 때,

    var a = "hello"; // String 타입

    var b = 3.14;  // Number 타입

    var c. = true;  // Boolean 타입

등과 같이 문자열, 수, 불리언 타입 등을 선언하여 사용할 수 있음

 

    - 해당 변수의 타입을 확인하고 싶을 때

        - typeof(변수); 사용 

            - ex) console.log(a, typeof(a));

        - console 창에서 값과 변수 자료형 바로 파악 가능함

 

 

 

Number 자료형

- JS에서는 정수와 실수를 구분하지 않고, Number 자료형으로 표현

- 지수 표현도 가능

    - ex) var c = 1e-3;

- 64비트의 수 표현 가능

 

    - 키를 입력받아 키와 자료형을 출력하면, String 타입인 것을 확인 가능

 

    - 문자형 타입을 숫자형으로 변환하는 함수 활용

        - parseInt(변수); : 숫자형 타입 중 정수로 변환

            - ex) 155.8 입력받으면 155만 저장됨

        - parseFloat(변수); : 실수로 변환

        - 두 가지 모두 출력하면 Number 타입으로 출력됨

 

 

** 만약, 입력받을 때에 문자열과 함께 입력받는 다면, 

    - ex) 155.8입니다.

        - parseInt( ) -> 155

        - parseFloat( ) -> 155.8

    - ex) 저는 155.8입니다. 

        - parseInt( ) -> NaN

        - parseFloat( ) -> NaN

    - 처음부터 문자열인 경우는 숫자형으로 변환되지 않음

 

 

 

String 자료형

- 문자열은 따옴표 혹은 쌍따옴표로 둘러쌓여 표현됨

- 시작과 끝나는 따옴표 형태가 동일해야 함

    - ex) '안녕하세요" -> 옳지 않음 (Syntax error 발생 : 잘못된 문법에서 발생하는 에러)

- 가운데에 다른 따옴표 사용하는 것은 가능

    - ex) "안녕하세요 저는 '누구누구입니다"

- 문자열 안에 따옴표, 큰따옴표 등의 문자를 활용하려면 escape character (\) 활용

    - \n : 줄바꿈

    - \' : 따옴표

    - \" : 큰따옴표

    - \\ : 역슬래시

    - \t : 탭

 

 

 

Object 자료형

- 속성(property)의 집합

- 위에서 정리한 단순 자료형보다 더 복잡한 자료를 표현할 때에 사용

- 속성 이름: 값으로 표현 가능, { } 사용해 정의 가능

- ex) var girl = {name: "안나", age: 20, height: 150}

- 접근 방법

    - 객체이름["속성이름"] 통해 값에 접근 가능

         - ex) girl["name"] -> 안나

    - 객체이름.속성이름 통해 접근

        - ex) girl.name -> 안나

- 값 수정 방법

    - 객체이름["속성이름"] = 값 통해 값 수정 가능

        - ex) girl["name"] = "엘사";

    - 객체이름.속성이름 = 값 통해 수정 가능

        - ex) girl.age = 15;

 

 

 

undefined & null 타입

- undefined

    - 시스템에서 어떤 변수나 속성이 정의되지 않은 경우를 표현하기 위해 사용

        - 선언만 하고 초기화가 되지 않는 변수의 타입이나 값

        - 객체의 정의되지 않은 속성의 타입이나 값

 

- null

    - 개발자가 명시적으로 아무것도 없는 비어있는 상태를 나타낼 때 사용

    - ex) var a = null;

 

 

- typeof(uninitialized_var) : undefined

- obj.x 나 obj.y는 해당 값이 출력되지만, obj.z는 undefined 출력됨