IT 강좌 JavaScript 기초 038_데이터 타입
JavaScript에서 데이터 타입은 숫자, 문자열, 불린 값 등 다양한 종류의 데이터를 나타내는 데 사용됩니다. JavaScript의 데이터 타입은 두 가지 범주로 나뉩니다: 원시 데이터 타입과 객체 데이터 타입.
원시 데이터 타입
원시 데이터 타입의 값은 단일 콘텐츠(문자열, 숫자 또는 기타)만 포함합니다.
Number(숫자)
숫자를 나타내는 데 사용되며, 정수와 부동 소수점 수를 포함합니다. 예: 5, 3.14, -10.
숫자는 곱셈 *, 나눗셈 /, 덧셈 +, 뺄셈 - 등 많은 연산을 수행할 수 있습니다.
일반 숫자 외에도 이른바 “특수 숫자 값”도 이 타입에 속합니다: Infinity, -Infinity 및 NaN.
Number 타입은 부동 소수점 타입이므로 정밀한 계산을 수행할 때 정밀도 문제가 발생할 수 있습니다. 예: 0.1 + 0.2.
parseInt() 메서드를 통해 문자열을 정수로 변환하고, parseFloat() 메서드를 통해 문자열을 부동 소수점 수로 변환할 수 있습니다.
예제:
let age = 25;console.log(0.1 + 0.2); // 출력 0.30000000000000004let result = 0.1 * 10 + 0.2 * 10;result = result / 10; // 결과를 부동 소수점으로 변환console.log(result); // 출력 0.3BigInt(큰 정수형)
임의 정밀도의 정수를 나타내는 데이터 타입입니다(메모리 크기 제한에 대응). Number 타입보다 더 큰 범위의 정수 값을 정밀도 손실 없이 나타낼 수 있습니다. n 접미사를 사용하거나 BigInt() 생성자를 호출하여 BigInt를 생성합니다.
Number 범위를 벗어나는 정수 값을 처리하며, 일반 정수와 혼합하여 사용할 수 없고, parseInt() 또는 parseFloat()로 변환할 수 없습니다.
예제:
let bigIntLiteral = 123n;let bigIntObject = BigInt(456);String(문자열)
텍스트 데이터를 나타내는 데 사용되며, 문자열은 일련의 문자로 구성되어 있고 문자, 숫자, 기호 등을 포함할 수 있습니다. 예: “Hello, World!”, “안녕하세요”, ‘123’.
문자열은 인용부호로 묶어야 하며, 단일 따옴표 'Hello', 이중 따옴표 "Hello", 백틱 `Hello`가 포함됩니다. 단일 따옴표와 이중 따옴표는 “단순한” 인용이며, 백틱은 기능이 확장된 인용부호로 ${…} 방식으로 변수를 직접 참조하고 텍스트 형식을 보존할 수 있습니다.
줄 바꿈 문자 \n, 탭 문자 \t, 백슬래시 자체 \\, 단일 따옴표 \' 및 이중 따옴표 \", 캐리지 리턴 \r
예제:
let text = "Hello, World!";Boolean(불린 값)
논리 값을 나타내는 데 사용되며, true 또는 false 두 가지 가능한 값만 있습니다.
예제:
let isStudent = true;Undefined(미정의)
초기화되지 않음, 정의되지 않음, 값이 할당되지 않은 변수 또는 매개변수 값이 없는 함수를 나타내는 데 사용됩니다.
예제:
let undefinedVar;alert(undefinedVar);Null(널 값)
“없음”, “비어 있음” 또는 “값이 알려지지 않음”을 나타내는 특수 값 또는 존재하지 않는 객체 값을 나타내는 데 사용됩니다.
예제:
let nullValue = null;Symbol(심볼)
고유하고 불변하는 식별자를 생성하는 데 사용됩니다. 객체의 비공개 속성 정의, 고유한 상수 생성 또는 특수 동작의 식별자로 자주 사용됩니다. Symbol을 통해 생성된 각 심볼은 고유하며, 동일한 설명을 가지고 있어도 서로 다릅니다.
예제:
const symbol1 = Symbol();const symbol2 = Symbol();console.log(symbol1 === symbol2); // 출력 false, 각 Symbol은 고유합니다객체 데이터 타입
데이터 컬렉션 또는 더 복잡한 콘텐츠를 저장하는 데 사용할 수 있습니다.
Object(객체)
키-값 쌍, 즉 속성과 속성 값의 매핑 관계를 저장하는 데 사용됩니다. 객체는 숫자, 문자열, 불린 값, 배열, 다른 객체 등 다양한 데이터 타입의 값을 포함할 수 있습니다.
예제:
let person = { name: "Alice", age: 30, isStudent: false};Array(배열)
배열은 값 그룹을 저장하는 데 사용되는 순서가 있고 변경 가능한 데이터 구조입니다. 배열은 서로 다른 데이터 타입의 요소를 포함할 수 있으며, 각 요소는 해당 인덱스를 가집니다.
예제:
let numbers = [1, 2, 3, 4, 5];Function(함수)
함수는 재사용 가능한 코드 블록으로, 입력 매개변수를 받고 일련의 작업을 수행하며 결과를 반환할 수 있습니다. 함수는 JavaScript에서 일급 시민이며, 변수에 할당될 수 있고, 다른 함수에 매개변수로 전달될 수 있으며, 다른 함수의 반환 값으로도 사용될 수 있습니다.
예제:
function greet(name) { console.log("Hello, " + name + "!");}greet("JavaScript");typeof
typeof는 JavaScript에서 주어진 변수의 타입을 가져오는 데 사용되는 연산자입니다(따라서 typeof에 괄호를 추가할 필요가 없습니다). 변수 타입을 나타내는 문자열을 반환합니다.
예제:
let undefinedVariable;let booleanVariable = true;let numberVariable = 42;let stringVariable = "Hello";let objectVariable = { key: "value" };let functionVariable = function() {};let symbolVariable = Symbol("mySymbol");let nullVariable = null;
console.log(typeof undefinedVariable); // 출력 "undefined"console.log(typeof booleanVariable); // 출력 "boolean"console.log(typeof numberVariable); // 출력 "number"console.log(typeof stringVariable); // 출력 "string"console.log(typeof objectVariable); // 출력 "object"console.log(typeof functionVariable); // 출력 "function"console.log(typeof symbolVariable); // 출력 "symbol"console.log(typeof nullVariable); // 출력 "object"typeof x, x를 사용하면 변수 타입과 변수 값을 각각 반환합니다. 먼저 typeof x를 실행한 다음 x를 실행하고 두 값을 출력합니다.
예제:
let x = 42;console.log(typeof x, x);typeof x는 “number”를 반환하여 변수x의 타입이 숫자임을 나타냅니다.x는 변수x의 값, 즉42를 반환합니다.