Roxylife
Roxy 빛나는 새벽
Roxylife
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발(회고록)현황일기
    • 개발CS지식
    • 알고리즘문제풀기
    • Git
    • 개발언어
      • HTML, CSS
      • JavaScript
    • 프론트엔드
      • React
    • Side Project
      • 혼자Project
      • 팀Project
    • 교육참여
      • [스파르타코딩클럽]
      • [저스트코드]

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 팀프로젝트
  • JavaScript
  • 힙한취미코딩이벤트
  • 스파르타코딩클럽
  • 기업협업
  • 신년운세코딩패키지
  • 스터디코드
  • 드림코딩
  • 회고록
  • 개발
  • 노마드코더
  • 저스트코드
  • 바닐라JS크롬앱
  • git
  • 스파르타코딩클럽후기
  • 코코아톡클론
  • JUSTCODE6기
  • 저스트코드6기
  • 코딩교육
  • JUSTCODE

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Roxylife

Roxy 빛나는 새벽

개발언어/JavaScript

[JavaScript] 변수가 필요한 이유와 선언하는 방법

2022. 7. 29. 15:56

변수가 필요한 이유

변수(Variable)는 프로그램에서 사용되는 데이터를 일정 기간 동안 기억하여 필요한 때에 다시 사용하기 위해 데이터에 고유의 이름인 식별자(identifier)를 명시하며 데이터를 담는 바구니이자 바뀔 수 있는 공간라고 생각하면 된다. 

식별자는 어떤 대상을 유일하게 식별할 수 있는 이름 ex. 변수명, 함수명, 프로퍼티명, 클래스 명

사람을 고유한 이름으로 식별하듯이 변수도 사람이 이해할 수 있는 언어로 지정한 고유한 식별자(변수명)에 의해 구별하여 참조할 수 있다.

변수와 대비되는 개념은 상수라고 하며 변하지 않는 공간

 

여기서 잠깐!

데이터는 메모리에 저장되어 있어 그 데이터를 참조하려면 메모리 상의 주소를 알아야 한다.

식별자는 데이터가 저장된 메모리 상의 주소를 기억하기에 메모리에 저장된 값을 참조할 수 있다. 또한 변수명을 통해 데이터의 의미를 명확히 할 수 있고, 개발자와의 커뮤니케이션을 위해 코드의 내용을 정확히 전달할 수 있으므로 더불어서 코드의 가독성이 좋아지는 효과도 있다.

 

변수의 선언 방법

변수명은 식별자로 불리기도 하며 명명 규칙이 존재하는데, 의무규칙으로
예약어 사용 불가능
숫자로는 시작할 수 없다.
특수문자는 _와 $만 사용 가능
띄어쓰기 사용 불가능
자바스크립트는 대/소문자를 구별하는 걸 명심한다.

var

var name;     // 선언
name = 'Lee'; // 할당

var age = 30; // 선언과 할당

var person = 'Lee',
    address = 'Seoul',
    price = 200;

var price = 10;
var tax   = 1;
var total = price + tax;
어디서든 변경할 수 있음.
재선언 O, 재할당 O
실수로 값을 업데이트해도 알아차릴 수 없는 단점. (구버전)

 

var는 ES5에서 사용되었을 때, 생기는 문제점은

  1. 함수 레벨 스코프 (지역 변수는 함수 내에서만 유효하며 전역 변수로는 참조할 수 없다)
  2. var 키워드 생략 허용
  3. 중복 선언 허용
  4. 변수 호이스팅

호이스팅이란? var 선언문이나 function 선언문 등 모든 선언문이 해당 Scope의 선두로 옮겨진 것처럼 동작하는 특성을 말한다. 

즉, 자바스크립트는 모든 선언문 [ var, let, const, function, class ] 이 선언되기 이전에 참조 가능하다.

 

 

let

var의 문제점을 해결하기 위해 let 이라는 키워드를 많이 사용한다.

const a = 5;
const b = 2;
let myName = "jiyoung";

console.log(a + b);
console.log(a * b);
console.log(a / b);
console.log("hello" + myName);

myName = "yimjiyoung";

console.log("your new name is " + myName);
새로운 것을 생성할 때 사용함. (값 can change.)
생성할 때 사용, 생성 후에 값을 바꿀 수 있음.
재선언 X, 재할당 O

 

const

const a = 5;
const b = 2;
const myName = "jiyoung"

console.log(a + b);
console.log(a * b);
console.log(a / b);
console.log("hello " + myName);
variable을 통해 코드를 간결하게 (값 can't change.)
상수, 생성 후 바꿀 수 X

'개발언어 > JavaScript' 카테고리의 다른 글

[JavaScript] 지정된 범위에서 난수를 발생시키는 적당한 함수 <랜덤수> 분석해보기  (0) 2022.07.30
[JavaScript] 객체와 배열이 섞인 복잡한 객체 만들어서 접근하는 방법  (0) 2022.07.29
[JavaScript] 데이터 타입 Data Types 의 종류  (0) 2022.07.27
Weather날씨 만들기  (0) 2021.09.04
To Do List 만들기  (0) 2021.09.03
    '개발언어/JavaScript' 카테고리의 다른 글
    • [JavaScript] 지정된 범위에서 난수를 발생시키는 적당한 함수 <랜덤수> 분석해보기
    • [JavaScript] 객체와 배열이 섞인 복잡한 객체 만들어서 접근하는 방법
    • [JavaScript] 데이터 타입 Data Types 의 종류
    • Weather날씨 만들기
    Roxylife
    Roxylife
    꿈나무 FE개발자

    티스토리툴바