LearningJavaScript

1. 변수(variable)

jyshimmy 2020. 7. 27. 16:53

변수

 

1. 정의(definition)

 

JavaScript의 제일 기본적인 구성 요소인 변수는 상황에 따라 변할 수 있는(variable) 값을 뜻합니다. 하지만, 변수는 값 자체가 아닌, 그저 값을 포함하고 있는 컨테이너라고 볼 수 있습니다. 즉, 변수란 어떤 물건들을 저장할 수있는 작은 상자와 같다고 할 수 있습니다. 더 나아가 프로그래밍 언어에서 변수는 어떤 데이터의 위치정보를 저장하는 메모리 공간을 의미합니다. 그리고 우리는 필요에 따라 우리가 원하는 변수를 불러와 사용합니다. 

In JavaScript, a variable is a container for a value; useful information can be stored in a variable as data. Just like its name suggests, variable can be anything that can change anytime.

 

2. 변수 사용법(its usage)

 

  1. 먼저 변수를 사용하기 위해 let이나 var 등의 키워드를 사용해 선언합니다. 변수의 선언은 1번만 할 수 있기때문에 선언 후엔 할당을 통해 다른 값을 대입 할 수 있습니다.
    • let 이외에  var, const라는 키워드도 사용 가능합니다. 각 키워드의 차이점은 다음과 같습니다.
      1. let
      2. var
      3. const
  2. 변수에 값을 부여하는 행위를 할당이라고 하는데, 할당은 '=' 부호를 이용하며 이 때, '같다'라는 부등호의 의미가 아닌 단순히 다음의 특정 값을 부여한다는 의미로 보면 됩니다.
    • e.g)

let sum = 1; // 선언할당을 동시에도 할 수 있습니다.

sum = sum + 1; // 할당

 

** 이때 '='을 부등호 같다의 의미로 해석하게 되고, 상식적으로 1 = 1 + 1이 될 수 없기 때문에 여기서부터 헷갈리기 시작합니다. 따라서 저는 자바스크립트 코드를 볼 때 '='을 단순히 할당한다는 의미로 해석하는 습관을 길러야겠다고 스스로 다짐해봅니다.

 

  • 만일 변수가 선언되었지만, 할당이 없다면 'undefined'라는 메시지가 나오는데, 말 그대로 변수가 정의되지 않았다는 뜻입니다. 
  • 변수 이름에는 띄어쓰기가 있으면 안됩니다. 만일, 변수를 한 단어 이상으로 표현해야 한다면, 붙여쓰는 대신, 두번째 단어부터 첫 글자를 대문자로 구분하여 의미 전달이 가능해집니다. When naming a variable by combining words with more than one, we separate each word by caplitalizing the first letters of all the words that come after the first word of the variable name. This is called 'camel casing'.
    • e.g.)

원의 면적은 area of circle이지만 띄어쓰기가 불가능하기 때문에, 두번째 단어부터 첫 글자를 대문자화하여, areaOfCircle이라고 씁니다. 우리는 이것을 낙타 등모양처럼 중간중간 대문자가 툭 튀어나왔다고 하여, 'camel case'라고 부릅니다.

 

3. 변수 타입(variable types? data types?)

변수에 뭐든 할당이 가능합니다. 함수도..

 

처음 볼 땐 귀찮고 진부하게 느껴질 수 있지만, 변수의 타입을 정확히 알아야 보다 나은 코드를 작성 할 수 있습니다. 변수 타입을 알아야, 우리가 사용할 정보에 알맞은 변수 타입을 부여할 수 있고, 또 각 변수 타입에 맞는 메쏘드를 사용해야하기 때문입니다.

MDN에서 각 타입별 고유의 속성, 관련 메쏘드를 참고할 수 있습니다.

There are primitive data types like number, string, undefined and boolean.

  1. 숫자(number)
  2. 문자열(string)
  3. undefined: 변수에 할당된 값이 없는 경우
  4. 불리언(Boolean): '참' 또는 '거짓'을 판단하는 타입; 주로 조건문에서 사용
  5. 객체(object): 배열과 마찬가지로 타입이 섞인 compound타입인 자료형
    • 배열(array): 타입이 섞인(compount)타입; 순서가 있고 자료형에 속함
  6. 함수(function)
  7. Null