Skip to content

Latest commit

 

History

History
127 lines (72 loc) · 3.43 KB

1_variable.md

File metadata and controls

127 lines (72 loc) · 3.43 KB

변수

const 와 let

Var Const Let
변수 재 선언 가능 초기화 시 초기값 설정하지 않으면 에러 변수 재 선언 불가능
변수 값 재할당 불가능 변수 값 재할당 가능

var과 const/let의 차이

1. 범위

if (ture){
var x =3;} 

console.log(x); //3
if (ture){
const y =3;} 

console.log(y); //error  

var은 Function Scope, const/let는 Block Scope입니다. const/let은 { } 블럭 안을 빠져나올 수 없습니다.

var의 단점

(function(){
    var x = 2    
})()

console.log(x) // x is not defined!

{
    var x = 2
}

console.log(x) // 2
{
    let x = 2
}

console.log(x) // x is not defined!!

2 . 초기화

const는 이후에 값을 바꿀 수 없습니다. 따라서 때문에 선언을 할 때, 상수에 대한 값을 할당 해 주어야 합니다. (초기화를 해 줘야 함) 그러나, var는 선언과 동시에 반드시 값을 할당 할 필요는 없습니다.

const와 let의 차이점

1. 재할당

const 는 '상수'로, 한번 선언하면 재 할당이 불가능합니다. 그러나 let은 '변수'이므로, 이전의 var과 유사하게 여러번 선언이 가능합니다.

(단, 자바스크립트에서는 변수의 수를 바꾸는 일은 매우 드뭅니다..)

const 의 특징

1. 객체 접근

const는 한번 선언하면 재 할당이 불가능 하기 때문에, const에 객체를 넣어도 객체 자체를 바꾸지는 못합니다. 가령, const g = { a:1, b:2, c:3}; 일 경우 g자체는 바꿀 수 없습니다. 그러나 객체안에 있는 원소는 바꿀 수 있습니다!

const h =[1,2,3,4,5] 

h[0] = true; //가능

h=234; //불가능

객체는 메모리 주소에 대한 참조를 합니다. 객체의 원소를 바꾸어도, 참조한 메모리 주소는 변화가 없기 때문에 재할당이 가능합니다.

데이터타입

  1. 숫자

  2. 문자열

  3. Boolean

  4. Null, undefined

  • null 은 데이터가 없다고, 고의적으로 설정하는 값 의미
  • undefined 는 설정을 하지 않았기 때문에 없는 값을 의미
  • null 은 값은 값이지만 값으로써 의미없는 특별한 값이 등록되어 있는 것이고, undefined 는 등록이 되어있지 않기 때문에 초기화도 정의되지도 않은 것입니다.

템플릿 문자열 (백틱,)

a = "버섯"
b = 1
c = [1,2,3] 

//변경 이전
const d = a + '은 안녕하세요!'  + b + '+' + c; 

//변경 이후
const d = ‘${a}  안녕하세요! ${b} ${c};

변경 이전에는** 변수와 문자열을 함께 쓸 때, 더하기(+) 기호를 사용했습니다.

변경 이후** 문자열을 '백틱’ 으로 감싸면면 하나의 문자열로 인식합니다.

백틱을 사용하는 문자열을 템플릿 문자열이라고 합니다. 문자열에서 '변수'를 사용하는 경우, 템플릿 문자열로 표현하면 ① 변수를 쓰는 문자열에서 여러개의 따옴표와 +기호를 쓰지 않아도 되기 때문에 보기 좋으며, ②문자열 내부에서 기호를 사용 할 때 이스케이핑 문자( ex. \’ \” )를 쓰지 않아도 된다는 장점이 있습니다.