Javascript Type, Javascript Variable   자바스크립트 타입, 자바스크립트 변수

(2018-11-10)

변수 , 데이터 타입 , 타입 , 데이터형

1. 자바스크립트 변수

  ㅇ 명시적인 변수 선언은, 
     - `var` 라는 예약어 하나로 가능
        . [참고] ECMAScript 6 부터는, let,const도 가능

  ㅇ 변수명 규칙 
     - ①  `영문자, $, _` (3 종류) 만으로 시작해야 함
     - ②  대소문자 구분
     - ③  다만, 각 변수가 유일한 이름 만 있으면 됨


2. 자바스크립트 변수 타입 종류자바스크립트 변수에는, 명시적인 타입이 없음
     - 자바 언어,C 언어의 int,double 등과는 달리,
        . 변수를 미리 규정하는 `정적 타입`이 없고, 
        . `동적 타입`이라고해서 실행 도중(값을 할당할 때) 정해짐
        . 즉, 자동 형변환 됨

  ㅇ 자바스크립트 변수 타입 구분 
     * 명시적인 타입 구분 대신에 개념적으로 다음과 같이 구분을 함 (느슨한 타입)
     - 기본 타입/원시 타입 (primitive type,built-in type)
        . 종류 : 문자열 타입,숫자 타입,불리언 타입,null 타입,undefined 타입,symbol 타입 (6개)
           .. string 타입 : 대부분의 타 프로그래밍 언어와 같음
           .. number 타입 : 타 프로그래밍 언어와 달리, 내부적으로 64 비트 부동소수점 만 지원
           .. boolean 타입 : true,false 2개 값 만 가능
           .. undefined 타입 : 변수선언 만 되고 값이 주어지지 않은 경우
           .. null 타입      : 선언변수null 값(값을 정할 수 없음, 0/0 등)으로 된 것
           .. symbol 타입    : (ECMAScript 6에 신규로 추가)
        . 특징 : 스택 메모리에 저장됨. 그 자체가 값을 나타냄.
           .. 단 하나의 값 만 가짐, 불변 임, 고정 크기를 가짐.
        . 확인 : typeof 변수; => 변수 타입에 따라 string,number,boolean,undefined 등을 리턴함

     - 객체 타입 (object type) 또는 참조 타입 (reference type)
        . 종류 : Object object,Array object,Date object,RegExp object,Function object 등
        . 특징 : 동적 바인딩되므로 실행 중에도 그 값이 변할 수 있음
           .. 여러 복잡한 값들을 가질 수 있음(즉,복합 데이터 타입), 변할 수 있음.
        . 확인 : typeof 객체; => object 를 리턴함, typeof 함수; => function 를 리턴함
        . 참조 타입 (reference type) 이란?
           .. 해당 메모리 영역을 가리키는(참조하는) 메모리 번지가 저장되는 타입을 말함


3. 자바스크립트 변수 타입 특징자바스크립트 변수에는 엄격한 타입 구분이 없음 (느슨한 타입)
     - 다만, 각 변수가 유일한 이름 만 있으면 됨
     - 즉, 자바스크립트 변수는 특정 시간에 특정 값을 가리키는 이름 자체일 뿐,
        . 변수 값과 데이터 타입은 실행 중에 얼마든지 바뀔 수 있음
        . 동적 바인딩으로 개체 참조(연관,association)가 실시간으로 이루어짐
        . 例) 변수.메소드() 일 때, 
           .. 변수가 문자열형이면 문자열String 객체에 있는 메소드가 실행됨
           .. 변수가 숫자형이면 숫자형 Number 객체에 있는 메소드가 실행됨

  ㅇ 변수에 타입을 규정하는 특별한 구문이 없음
     - var 이라는 변수 선언 예약어 하나로 가능
        . 즉, 변수 선언자료형(Data Type)이 미리 주어지지 않음 (변수 자료형 미선언)
        . 단, var 연산자지역 변수로써 만 정의함을 의미

  ㅇ 변수 타입(Data Type) 검사 등이 엄격하지 않음
     - 변수에 임의 타입의 값을 대입 가능 
     - 변수가 임의 타입의 객체를 참조할 수도 있음
     - 사용 전에 반드시 변수 선언할 필요도 없음
   

4. 자바스크립트 타입 구분 (판단하기), 타입 변환

  ㅇ ☞ 자바스크립트 타입 구분 참조
     - number, string, boolean, undefined, object, function 등

  ㅇ ☞ 자바스크립트 타입 변환 참조


[JS 변수,타입] 1. JS 변수,타입 2. JS 타입 구분 3. JS 타입 변환 4. 변수 호이스팅

 
        최근수정     요약목록(시험중)     참고문헌