JavaScript Data Type


자바스크립트의 변수와 상수

자바스크립트에서 변수를 선언하는 방법은 세 가지가 있습니다: var, let, 그리고 const입니다. 각각의 선언 방법은 스코프와 재할당 가능성 측면에서 차이가 있습니다.

1. var

  • 함수 스코프를 가집니다.
  • 재할당이 가능합니다.
  • 중복 선언이 가능합니다.
var name = 'Alice';
console.log(name); // Alice

var name = 'Bob';
console.log(name); // Bob

name = 'Charlie';
console.log(name); // Charlie

2. let

  • 블록 스코프를 가집니다.
  • 재할당이 가능합니다.
  • 중복 선언이 불가능합니다.
let age = 25;
console.log(age); // 25

// let age = 30; // SyntaxError: Identifier 'age' has already been declared

age = 30;
console.log(age); // 30

3. const

  • 블록 스코프를 가집니다.
  • 재할당이 불가능합니다.
  • 중복 선언이 불가능합니다.
const birthYear = 1995;
console.log(birthYear); // 1995

// birthYear = 2000; // TypeError: Assignment to constant variable.

// const birthYear = 2000; // SyntaxError: Identifier 'birthYear' has already been declared

자바스크립트의 데이터 타입

자바스크립트는 동적 타이핑(dynamic typing)을 지원하는 언어로, 변수의 타입이 런타임에 결정됩니다. 기본 데이터 타입은 다음과 같습니다.

1. 기본 데이터 타입 (Primitive Types)

  1. 문자열 (String)
let greeting = 'Hello, World!';
let singleQuote = 'Single quote string';
let doubleQuote = "Double quote string";
let templateLiteral = `Template literal with variable ${greeting}`;
  1. 숫자 (Number)
let integer = 42;
let float = 3.14;
let negative = -100;
let notANumber = NaN; // Not a Number
let infinity = Infinity;
  1. 불리언 (Boolean)
let isAvailable = true;
let isCompleted = false;
  1. null
let emptyValue = null;
  1. undefined
let uninitializedVariable;
console.log(uninitializedVariable); // undefined
  1. 심볼 (Symbol)
let uniqueId = Symbol('id');
console.log(uniqueId); // Symbol(id)

2. 객체 데이터 타입 (Object Type)

자바스크립트의 객체는 키-값 쌍의 컬렉션입니다. 객체, 배열, 함수는 모두 객체 데이터 타입에 속합니다.

  1. 객체 (Object)
let person = {
  name: 'John',
  age: 30,
  isStudent: false
};

console.log(person.name); // John
console.log(person['age']); // 30
  1. 배열 (Array)
let numbers = [1, 2, 3, 4, 5];
console.log(numbers[0]); // 1
console.log(numbers.length); // 5
  1. 함수 (Function)

함수는 일급 객체(first-class citizen)로, 변수에 할당되거나 다른 함수의 인자로 전달될 수 있습니다.

function add(a, b) {
  return a + b;
}

let result = add(10, 20);
console.log(result); // 30

let multiply = function (a, b) {
  return a * b;
};

console.log(multiply(5, 3)); // 15

동적 타이핑

자바스크립트는 동적 타입 언어이므로, 변수의 타입은 런타임에 결정되고 필요에 따라 변경될 수 있습니다.

let variable = 42;
console.log(typeof variable); // number

variable = 'Hello, World!';
console.log(typeof variable); // string

variable = true;
console.log(typeof variable); // boolean

결론

자바스크립트의 변수와 상수, 그리고 다양한 데이터 타입에 대해 이해하는 것은 프로그래밍을 시작하는 데 있어 매우 중요합니다. 이러한 기초를 탄탄히 다진 후, 자바스크립트의 고급 기능과 다양한 응용 분야로 나아갈 수 있습니다.


Leave a Reply

Your email address will not be published. Required fields are marked *