6.1 JavaScript 문법 - Number, String, 변수

박혜리·2021년 7월 5일
0

nodejs

목록 보기
1/13

Number 숫자 데이터 타입

사칙연산 가능

console.log(1);
console.log(1+1);   //2
console.log(4-1);   //3
console.log(2*2);   //4

String 문자열

'', "" 짝을 이룬 따옴표 안의 문자열

console.log('1'+'1');  //11 문자와 문자를 결합한 형태

변수

var은 변수 선언 방식에 큰 단점을 가지고 있다.
변수를 한 번 더 선언했음에도 불구하고, 에러가 나지 않으며 다른 값이 출력된다.
코드량이 많아진다면 자칫 헷갈려 엉뚱한 변수의 값이 바뀔 우려가 있을 것이다.

    var name = 'hello'
    console.log(name) // hello

    var name = 'javascript'
    console.log(name) // javascript

그래서 ES6 이후 추가된 변수 선언 방식이 letconst이다.

let: 변수 재선언은 불가능하나 재할당이 가능하다.
const: immutable한 변수이므로 변수 재선언, 재할당 모두 불가능하다. (상수라고 보면됨)

    let name = 'hello'
    console.log(name) // hello

    let name = 'javascript'
    console.log(name) 
    // Uncaught SyntaxError: Identifier 'name' has already been declared
    
    name = 'react'
    console.log(name) 
    //Uncaught TypeError: Assignment to constant variable.

또한, var은 선언 단계와 초기화 단계가 한 번에 이루어진다.
하지만 let의 경우 선언 단계와 초기화 단계가 분리되어 진행된다.

// 선언 단계와 초기화 단계가 동시에 실행되기 때문에 에러가 나지 않음.
console.log(a); // undefined

var a;
console.log(a); // undefined

a = 1; // 할당문에서 할당 단계가 실행된다.
console.log(a); // 1
// 변수가 선언되었으나 초기화(메모리 공간 확보와 undefined로 초기화)되지 않았다.
// 따라서 변수 선언문 이전에 변수를 참조할 수 없음.

console.log(a); // ReferenceError: a is not defined

let a; // 변수 선언문에서 초기화 단계가 실행된다.
console.log(a); // undefined

a = 1; // 할당문에서 할당 단계가 실행된다.
console.log(a); // 1
profile
붙잡지 않으면 이 또한 지나가리라

0개의 댓글