본문 바로가기

JavaScript/1

변수(Variable)와 타입(Type)

변수(Variable) 란 ?

  - 상황에 따라 변할 수 있는 값 이라고 정의를 할 수 있습니다.

  - 어떠한 물건을 담기 위해 필요한 상자 라고 비유를 할 수 있습니다.

 

변수의 선언 및 할당

  - 자바스크립트에서는 var, let 키워드 선언을 할 수 있습니다.

  - ES6 이전 버전에서는 var변수 선언을 할 수 있습니다.

< 변수 var 선언 >

  - ES6 이후 버전에서는 새로운 변수 선언 방식으로 let 으로 변수 선언을 할 수 있습니다.

< 변수 let 선언과 할당 >

  - let 키워드는 블록 범위의 로컬 변수를 선언하는데 사용됩니다. 

    글로벌 선언도 가능하지만, 로컬에서 let 키워드를 사용하여 동일한 변수선언을 하게 된다면,

    다른 변수로 인식을 하게 됩니다.

< 글로벌, 로컬 변수 >

  - 위의 코드를 알아보겠습니다.

    1. let x = 1   // 글로벌로 선언 된 변수 x 의 값은 1 입니다.

    2. x = 2   // 글로벌로 선언 된 변수 x 의 값을 2변경하였습니다.

    3. 첫번째 if 문에서 x 의 값을 3 으로 선언하였습니다.

        새로운 let 키워드를 사용하지않고, 기존에 선언하였던 변수 x 의 값을 3 으로 변경하였습니다.

    4. 두번째 if 문에서는 새로운 let 키워드를 사용하여 변수 x 의 값을 4선언하였습니다.

    5. 위의 과정을 거쳤을 때 마지막 console 로그를 찍었을 때 x 의 값은 어떻게 될까요 ?

         답은 4 입니다.

         그 이유는 두번째 if 문의 let x = 4 는 로컬 변수로서 글로벌 변수 x 와는 전혀 다른 변수인식을 하게 되어서 입니다.

 

  위의 코드를 실행하면 아래와 같은 값이 리턴됩니다.

 

      1. x = 1 (글로벌 변수)

      2. x = 2 (글로벌 변수)

      3. x = 3 (글로벌 변수)

      4. x = 3 (글로벌 변수)

      5. x = 4 (로컬 변수)

      6. x = 3 (글로벌 변수)

 

 

 

  - var, let 외에 변수 키워드가 하나 더 있습니다.

    바로 const 키워드입니다.

    const 키워드Constants상수를 뜻합니다.

    var, let 과 같은 변수와 반대되는 고정 값이라고 보면 될거 같습니다.

< 상수 x 선언 >

  - 상수 x 의 값을 10 으로 선언하였습니다.

    그 후에 x 의 값 5 변경을 하려고 합니다.

    그러면 어떻게 될까요 ?

    Uncaught TypeError: Assignment to constant variable. 이라는 오류가 발생하게 됩니다.

    상수 값다른 값으로 변경하려 했기 때문에 오류가 발생한 것입니다.

  - const 키워드 같은 경우에는 변하지 않는 값을 필요로 할때 사용하면 될 것입니다.

 

 

 

타입(Type) 이란 ?

  - 프로그래밍 언어에서 사용할 수 있는 데이터(문자, 숫자, 불리언 등)의 종류 입니다.

  - 원시 타입(Primitive Data Type)객체 타입(Object Type) 으로 나누어지게 됩니다.

 

원시 타입(Primitive Data Type) : 변경 불가능한 값(immutable value) 이며 pass-by-value(값에 의한 전달) 입니다.

  - Number : Integer(1, 2, 3, 4 등의 정수) 또는 floating-point(3.1452 등 부동소수점) 등의 숫자

   ㆍ C나 Java의 경우, 정수와 실수를 구분하여 int, long, float, double 등 다양한 숫자 타입이 존재하지만,

        JavaScript는 하나의 숫자 타입만 존재합니다.

        하나의 숫자 타입이라는건 모든 수를 실수를 처리하며 정수만을 표현하기 위한 데이터 타입은 없습니다.

 

  - String : 문자열 타입으로서, 텍스트 데이터를 나타냄

   ㆍ 대부분의 전세계 문자를 표현할 수 있으며, 문자열은 작은 따옴표(' ') 또는 큰 따옴표(" ") 안에 택스를 넣어 생성합니다.

   ㆍ 일반적인 표기법은 작은 따옴표를 사용하는 것 입니다.

 

  - Boolean : 불리언 타입의 값은 논리적으로 참과 거짓을 나타내는 truefalse 뿐입니다.

 

  - null : 변수에 값이 없다는 것을 명시할 때 사용합니다. 이는 변수가 기억하는 메모리의 참조 정보를 제거하는 의미입니다.

   ㆍ null 타입의 값은 null 이 유일합니다.(JavaScript는 대소문자를 구별하므로  Null, NULL 과는 다릅니다.)

 

  - undefined : 변수 선언 이후 값이 할당되지 않은 변수undefined 라는 값을 가지게 됩니다.

                              즉, 선언은 되었지만 값이 할당되지 않은 변수에 접근, 존재하지 않는 객체에 접근할 경우 undefined로 반환됩니다.

 

 

객체 타입(Object Type) : 데이터와 그 데이터에 관련한 동작(절차, 방법, 기능)을 모두 포함할 수 있는 존재입니다.

                                                 Javascript는 객체 기반 스크립트 언어로서, 이루고 있는 거의 모든 것들이 객체입니다.

                                                 원시 타입을 제외한 나머지 값(배열, 함수, 표현식 등)은 모두 객체입니다.

                                                 또한 객체는 pass-by-reference(참조에 의한 전달) 방식으로 전달됩니다.