설명
자바스크립트는 동적 타입 언어로, 값이 전달될 때 자료형이 결정된다.
정적 타입 vs 동적 타입
정적 타입(static type)
변수의 자료형이 컴파일 시간에 결정된다.
변수가 선언될 때 명시적으로 자료형을 지정해야 한다.
컴파일러는 변수가 잘못된 자료형의 값을 가지는지를 검사하고, 오류를 컴파일 시간에 발견할 수 있다.
주로 C, C++, Java 등의 언어에서 사용된다.
동적 타입(dynamic type)
변수의 자료형이 런타임 시간에 결정된다.
변수를 선언할 때 자료형을 명시적으로 지정하지 않아도 된다.
타입 에러는 런타임 시간에 발견된다.
주로 JavaScript, Python, Ruby 등의 언어에서 사용된다.
선언할 때 사용되는 키워드
let
변수를 선언할 때 사용된다.
변수의 값을 재할당할 수 있으나, 같은 이름의 변수를 여러 번 선언할 수 없다.
변수의 스코프는 블록 스코프(block scope)이다. 즉, 변수는 해당 블록 내에서만 유효하다.
let은 초기화할 필요가 없다.
let a;
console.log(a); // undefined
const
상수를 선언할 때 사용된다.
같은 이름의 상수를 재할당하거나 다시 선언할 수 없다.
블록 스코프(block scope)이다.
상수는 선언될 때 반드시 초기화 되어야 한다.
const value = Math.random();
console.log(value < 0.5 ? "윗면" : "아랫면");
'JS' 카테고리의 다른 글
control statements (0) | 2024.03.07 |
---|---|
type conversion (0) | 2024.03.07 |
data type (0) | 2024.03.07 |
error (0) | 2024.03.07 |
javascript (0) | 2024.03.07 |