Week2 - JavaScript (2)

김서하·2021년 5월 8일
0

Westudy

목록 보기
7/25
post-thumbnail

JavaScript 정의 : 웹페이지에서 사용자로부터 특정 이벤트나 입력 값을 받아 동적인 처리를 목적으로 고안된 객체 기반의 스크립트 프로그래밍 언어

변수(variable)

변수는 데이터를 담기 위한 메모리 공간. (어떤 값을 담기 위한 상자나 그릇)
자바스크립트에서는 var키워드로 변수선언, 선언함과 동시에 값을 할당가능
(,)를 통해 여러 개를 한 문장으로 선언가능
지정된 초기값 없이 선언된 변수는 undefined값을 가짐
var, let, const 로 선언 가능!

// var 변수 이름;
// var 변수 이름 = 할당할 값;
var sum; // 변수 sum을 선언. undefined
var a = 3; // 변수 a를 선언함과 동시에 3을 a에 할당
var b, c, d;
var e = 1;
var f = 2;
var g = 3; // 여러 변수를 한번에 선언 및 초기화 가능
var a = "aaa";
var a = 'aaa';
var a = true;
var a = [];
var a = {};
var a = undefined;

변수의 Scope(유효 범위)
{}에 상관없이 설정

  for(var i = 1; i <=5; i++) {
      sum = sum + i;
  }
  console.log(sum); // 15
  console.log(i); // 6

const, let

let sum = 0;
  for(let i = 1; i <=5; i++) {
      sum = sum + i;
  }
  console.log(sum); // 10
  console.log(i); // Uncaught ReferenceError : i is not defined

const: 한번 선언한 값에 대해서 변경 불가능 (상수)

 const a = 10;
 a = 20; // Uncaught TypeError : Assignment to constant variable
 /* [주의!] 하지만, 객체나 배열의 내부는 변경가능! */
 const a = {};
 a.num = 10;
 console.log(a); // {num: 10}
 const b = [];
 b.push(20);
 console.log(b); // [20]

let: 한번 선언한 값에 대해서 변경 가능, 선언 불가능
메모리에 할당하면 재할당 불가능

function f(){
    {
     let x;
     {
        // 새로운 블록 안에 새로운 x의 스코프가 생김
           const x = "sneaky";
           x = "foo"; // 위에 이미 const로 x를 선언했으므로
           다시 값을 대입하면 Error
      }
      // 이전 블록 범위로 돌아왔기 때문에 'let x'에 해당하는 메모리에 값을 대입
      x = "bar";
      let x = "inner"; // SyntaxError : Identifier 'x' has already been
      }
 }

정리

varJavaScript ES6사용할 때는 사용하지 않음
let 재할당이 필요한 변수에 사용
const재할당이 필요없는 변수(기본자료형/객체형)에 사용

profile
개발자 지망생 서하입니당

0개의 댓글