변수

dahyeyudev·2019년 11월 19일
0

basic

목록 보기
1/5

변수 정의

  1. 위치(주소)를 기억하는 저장소. 위치란 메모리 상의 주소(address)를 의미한다. 메모리 주소(memory address)에 접근하기 위해 사람이 이해할 수 있는 언어로 지정한 식별자(identifier)이다.

  2. 스크립트는 자신의 작업을 시작하는 동안 어떤 정보들을 임시로 저장해야 할 필요가 있다. 이때 스크립트가 데이터를 저장해둘 수 있는 어떤 것을 변수(variable)라고 한다.

  3. 변수(variable)는 값(value)을 저장(할당)하고 그 저장된 값을 참조하기 위해 사용한다. 한번 쓰고 버리는 값이 아닌 유지(캐싱)할 필요가 있는 값은 변수에 담아 사용한다. 또한 변수 이름을 통해 값의 의미를 명확히 할 수 있어 코드의 가독성이 좋아진다

  4. 변수, 말 그대로 변하는 수이다. 변수에 저장된 데이터는 스크립트가 실행될 때마다 매번 바뀐다(or 변함. 때문에 변수라는 이름이 매우 적절하다). 페이지를 떠나면 브라우저는 자신이 가지고 있던 정보를 모두 잊어버리기 때문에 변수는 단기적으로 사용하는 메모리라고 생각하면 된다.

  5. 배열도 변수이다. 배열은 하나 혹은 그 이상의 연관된 정보를 저장할 수 있는 특별한 형태의 변수이다.

  6. 다른 프로그래밍 언어와 달리 js는 변수를 선언할 때 해당 변수가 저장할 데이터의 타입을 명시할 필요가 없다.

변수 선언

변수를 사용하기 위해서는 먼저 변수를 선언(생성하고 이름을 부여)해야한다.

var quantity;

var: 선언 키워드
quantitiy: 변수명(변수를 사용하기 위해서는 반드시 이름을 부여해야 한다. 이 이름을 식별자 identifier라고 부르기도 한다.)

  • 선언할 수 있는 방법은 var, let, const 3가지가 있다. 쓰임이 다르다. 자세한 내용은 따로 포스팅 해 두겠다.

변수에 값 대입하기

변수를 만들었다면 어떤 정보를 저장하고 싶은지를 지정해야 한다. 개발자들은 이를 변수에 값을 대입한다고 표현한다.

quantity = 3;

위는 변수명 quantity변수에 = 대입연산자를 넣어 변수 값을 지정해 주었다. 등호기호 =연산자는 변수에 값을 대입해주고, 이미 존재하는 변수 값을 재할당 해주기도 한다. 만약 변수에 값을 대입하기 전이라면 변수 값이 미정undefined이라고 말한다.

재할당

변수 값을 변경하려면 let 키워드를 다시 사용할 필요는 없다. 변수명 = 재할당할값을 입력해주면 된다.

let stock;
let shipping;
stock = true;
shipping = false;
//재할당하려면 아래와 같이 재할당할 값을 써주면 된다.
stock = false;
shipping = true;

변수의 선언 위치에 따라 나머지 스크립트가 해당 변수를 사용할 수 있을지 여부가 결정 된다.
이를 변수의 범위
scope이라고 한다.

변수 선언의 방법

변수를 생성하고 값을 대입하는 방법은 아래 3가지로 알아보자. 이 중 간단한 방법을 선택해 사용하면 된다.

//1. 하나씩 설정해준다.
let price = 5;
let quantity = 14;
let total = price * quantity;
//2. let 하나에 변수들을 ,로 모두 써준 뒤 마지막 또한 let 생략
let price, quantity, total;
price = 5;
quantity = 14;
total = price * quantity;
//3. let 하나에 변수를 ,로 써준뒤 마지막 계산은 let 써줌
let price = 5, quantity = 14;
let total = price * quantity;

동적 타이핑 (Dynamic Typing)

자바스크립트는 동적 타입(dynamic/weak type) 언어이다. 이것은 변수의 타입 지정(Type annotation)없이 값이 할당되는 과정에서 값의 타입에 의해 자동으로 타입이 결정(Type Inference)될 것이라는 뜻이다. 따라서 같은 변수에 여러 타입의 값을 할당할 수 있다. 이를 동적 타이핑(Dynamic Typing)이라 한다.

값을 할당하지 않은 변수

값을 할당하지 않은 변수 즉 선언만 되어 있는 변수는 undefined로 초기값을 갖는다. 선언하지 않은 변수에 접근하면 ReferenceError가 발생한다.

var x;
console.log(x); // undefined
console.log(y); // ReferenceError

변수 규칙

변수 이름을 지을 때 규칙이 있다.

  1. 변수의 이름은 반드시 문자, $, _로 시작해야 한다. 절대로 숫자로 시작해서는 안 된다.
  2. 변수의 이름은 문자, 숫자, $, _문자를 포함할 수 있다. 그러나 대시(-)나 .같은 기호들은 사용할 수 없다.
  3. 키워드(keyword)나 예약어(reserved word)는 변수 이름으로 사용할 수 없다. 키워드는 자바스크립트 해석기가 미리 정해진 행동을 하도록 사전에 정해둔 특별한 단어이다. 예를들어, var키워드는 변수를 선언하기 위해 사용되는 단어이다. 예약어는 자바스크립트가 향후 버전에서 사용할 것을 대비하여 미리 확보해둔 단어를 말한다.
  4. 모든 변수는 대/소문자를 구분하므로 Result와 result는 각기 다른 변수의 이름으로 사용할 수 있다. 하지만 이런식으로 만들진 말자.
  5. 2단어 이상이면 CamelCase를 사용하거나 언더바를 사용해서 쓰자
  6. 가능하다면 변수의 이름은 변수가 저장할 데이터의 종류를 설명할 수 있는 단어를 사용하도록 한다.

  • 스크립트
    컴퓨터가 원하는 목적을 달성하도록 만들기 위한 명령어의 모음. 스크립트는 컴퓨터가 단계별로 따라 할 수 있는 명령들로 구성된다. 브라우저는 사용자가 웹페이지와 어떻게 상호작용하느냐에 따라 스크립트에서 필요한 부분만 사용함. 스크립트를 디자인 한다는 것은 단계를 구상한다는 것이고 이 단계가 스크립트 코드를 짜는거다.
  • 데이터 타입
    숫자데이터, 문자열 데이터, 불리언 데이터, 배열, 객체, undefined, null 등

참고

자바스크립트 & 제이쿼리 - 존두켓

https://poiemaweb.com/js-data-type-variable

0개의 댓글