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

(2017-05-13)

변수

1. 자바스크립트 변수

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

  ㅇ 변수명은, 
     - `영문자,$,_` 만으로 시작해야 함
     - 대소문자 구분
     - 다만, 각 변수가 유일한 이름 만 있으면 됨

  ㅇ 변수에 명시적인 타입이 없음
     - 동적 바인딩으로 개체 참조(연관,association)가 실시간으로 이루어짐


2. 자바스크립트 변수 타입자바스크립트 언어 사양 상, 자바스크립트 변수에는 명시적인 타입이 없음

     - 자바 언어,C 언어의 int,double 등과는 달리,
        . 변수를 미리 규정하는 `정적 타입`이 없고, 
        . `동적 타입`이라고해서 실행 도중에 그때그때 정해짐 (즉, 자동 형변환 됨)

     - 따라서, 명시적인 타입 구분 대신에 개념적으로 다음과 같이 구분을 함
        . 기본 타입 (primitive type,built-in type)
           .. (문자열 타입,숫자 타입,불리언 타입,null 타입,undefined 타입)
           .. undefined 타입 : 변수선언 만 되고 값이 주어지지 않은 경우
           .. null 타입      : 선언변수가 null 값(값을 정할 수 없음, 0/0 등)으로 된 것
        . 객체 타입 (object type)


3. 자바스크립트 변수 타입 특징자바스크립트 변수에는 엄격한 타입 구분이 없음
     - 다만, 각 변수가 유일한 이름 만 있으면 됨

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

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

4. 자바스크립트 타입 판단하기 例문자열 타입       : 例) typeof unkownVariable => `string`
  ㅇ 숫자 타입         : 例) typeof unkownVariable => `number`
     - 특수한 기호 例) typeof 0/0 => NaN (Not-a-Number) : 숫자가 아니거나, 계산 불능
  ㅇ 불리언 타입       : 例) typeof unkownVariable => `boolean`
     - 그 값이 예약어인 true,false 중 하나로 평가됨
        . 빈 문자열,0(제로),NaN,null,undefined => false
        . 그 이외의 것 => true
  ㅇ 함수 타입         : 例) typeof unkownVariable => `function`
  ㅇ undefined 타입    : 例) typeof unkownVariable => `undefined`
     - 선언 만 하고, 어떤 값도 대입(변수 초기화)하지 않은 경우
     - 한편, null 값은 의미 상 undefined와 같지만, object 타입으로 판정 함
  ㅇ 객체 타입 : 例) typeof unkownVariable => `object`
     - 변수가 null,배열,객체 일 때
        . ☞ 자바스크립트 객체 참조


5. 자바스크립트 형 변환 例)

  ㅇ 암시적 형 변환
     - `+` 연산자 : 피 연산자들을 문자열형변환
     - `-`,`*` 연산자 : 피 연산자들을 수치로 형변환
     - `+` 단항 연산자 : 피 연산자를 수치로 형변환
     - `!` 단항 연산자 : 피 연산자를 Boolean으로 형변환하고 부정(negate) 연산을 함
     - `==` 비교 연산자 : 우선, 수치로 형변환을 하고, 그 다음에 비교 과정을 수행함
     - `===` : 형변환을 수행하지 않고, 엄격한 비교 과정을 수행함

  ㅇ 대부분, 암시적인 자동 형 변환을 하지만, 때로는 명시적인 형 변환을 하려면,
     - 주로, Boolean(),Number(),String(),Object() 함수를 많이 이용함
     - 기타, 
        . 문자열정수형변환 : parseInt()
        . 문자열실수형변환 : parseFloat()


[자바스크립트]1. JavaScript  2. JS 객체  3. JS 변수,타입  4. JS 함수  5. JS 배열  
  1.   기술공통
  2.   기초과학
  3.   파동/광학/음향
  4.   방송/멀티미디어/정보이론
  5.   전자/전기/제어
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 프로그래밍
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 기계어,어셈블리언어
        1.   C/C++
        2.   자바(Java)
        3.   자바스크립트
              1. JavaScript
              2. JS 객체
              3. JS 변수,타입
              4. JS 함수
              5. JS 배열
          1.   JS 이벤트
          2.   JS 활용
          3.   jQuery
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   기계/재료/공업일반
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     모바일웹     참고문헌