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

(2021-02-05)

Variable , 변수 , 데이터 타입 , 타입 , 데이터형 , 자료형 , 자바스크립트 자료형, 자바스크립트 상수


1. 자바스크립트 변수

  ㅇ 명시적인 변수 선언은, 
     - `var`,`let` 라는 예약어 만으로 가능

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


2. 자바스크립트 변수타입 특징

  ㅇ 명시적인 타입이 없음
     - 자바 언어,C 언어의 int,double 등과는 달리,
        . 변수를 미리 규정하는 `정적 타입`이 없고, 
        . `동적 타입`이라고해서 실행 도중(값을 할당할 때) 정해짐
     - 기본적으로, 자동 형변환 됨

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

  ㅇ 변수타입을 규정하는 특별한 구문이 없음
     - var, let 이라는 변수 선언 예약어 만으로도 가능
        . 변수 선언자료형(Data Type)이 미리 알려주지 않음
        . 즉, 변수 자료형 미선언

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

3. 자바스크립트 변수 타입의 느슨한 구분자바스크립트 변수 타입의 구분은,
     - 명시적인 타입 구분을 하지 않음
     - 다만, 개념적으로 아래와 같이, 크게 2개로 구분을 함 (느슨한 타입)
     - 즉, 다음과 같이 열거된 타입들을 변수에 대입 가능

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

  ㅇ 객체 타입 (object type) 또는 참조 타입 (reference type)
     - 종류 : Object object,Array object,Date object,RegExp object,Function object 등
     - 특징 : 동적 바인딩되므로 실행 중에도 그 값이 변할 수 있음
        . 여러 복잡한 값들을 가질 수 있음(즉,복합 데이터 타입)
        . 가변 크기

     - 한편, 참조 타입 (reference type) 이란?
        . 해당 메모리 영역을 가리키는(참조하는) 메모리 번지가 저장되는 타입을 말함

  ㅇ 타입의 확인
     -  typeof 변수; => 변수 타입에 따라,
        . string,number,boolean,undefined 등을 리턴함
     -  typeof 객체; => object 를 리턴함
     -  typeof 함수; => function 를 리턴함


4. 자바스크립트 변수 타입의 7가지 구분 (판단하기)

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


5. 자바스크립트 변수 타입의 변환

  ※ ☞ 자바스크립트 타입 변환 참조
     - 암묵적 형 변환, 명시적 형 변환 참조


6. 자바스크립트 상수

  ㅇ const 키워드로 선언

  ㅇ 특징
     - 블록 단위 스코프
     - 선언시 반드시 초기값 할당해야 함
     - 재할당(변경) 불가
     - 상수로 선언된 배열,객체 내부의 값 변경은 가능



Copyrightⓒ written by 차재복 (Cha Jae Bok)