원시 타입(Primitive Types)
원시 타입은 정수, 실수, 문자, 논리 등의 실제 데이터 값을 저장하는 타입입니다. 이러한 원시 타입의 객체는 몇 가지 특징을 가지고 있습니다.
원시 타입은 메모리 공간에서 값이 변경되지 않습니다.
원시 타입을 호출 시 값에 의한 호출을 합니다.
중요
지금의 말로는 무슨 뜻인지 이해하기 어렵습니다. 예와 함께 설명 드리겠습니다.
let a = 10
a = 5
1. a라는 변수가 10이라는 값을 할당해서 메모리 공간에 적재하고 a는 10이라는 값이 저장된 메모리 공간의 주소를 가르키고 있습니다.
2. 하지만 다음 줄 에서 5라는 값으로 a가 바꼈습니다. 이렇게 되면 메모리 공간 상 10이라는 값이 사라지는 것이 아니라 10은 남아 있고 새로운 메모리 공간에 5를 적재한 후 a의 주소를 5로 바꿔줍니다.
즉 10이라는 값은 사라지거나 변경되지 않고 메모리 공간에 남아 있고 a의 주소만 바뀌게 됩니다.
원시 타입 종류 - Number
자바스크립트의 경우 2,8,16 진수의 데이터 타입을 별도로 제공하지 않아 10진수로 저장되며 값을 참조 할 때 또한 10진수로 해석됩니다. 중요한 것은 JS는 별도의 타입 지정이 없어 모든 수를 실수로 처리합니다.
특별한 원시 타입 숫자
Infinity : 무한한 숫자를 표현할 때 사용됩니다.
-Infinity : - 무한한 숫자를 표현할 때 사용됩니다
Nan : 산술 연산이 불가능할 때 사용됩니다.
var a = 100 / 0; // 양의 무한대
console.log(a); // Infinity
var b = 100 / -0; // 음의 무한대
console.log(b); // -Infinity
var c = 1 * 'string'; // 산술 연산 불가
console.log(c); // NaN
원시 타입 종류 - String
주로 '값' 나 "값" 으로 표현을 하며 마찬가지로 원시 타입이라 문자열을 변경하는 것을 불가능합니다. 이때 문자열은 배열처럼 인덱스
로 접근이 가능합니다.
배열 : 같은 타입의 변수들로 이루어진 유한 집합
인덱스 : 배열에서의 위치를 가리키는 숫자
let str = "name";
console.log(str[0]) // n
// 문자열 변경 불가능
str[0] = 'N' // 에러
원시 타입 종류 - boolean
논리적인 참과 거짓을 나타낼 때 사용되는 true, false 입니다. 주로 조건문 등에 자주 사용됩니다.
비어있는 문자열 , null , undefined , 0 은 false로 취급합니다.
var trues = true;
var falses = false;
원시 타입 종류 - undefined
할당 되지 않는 변수 등에서 undefined라는 값을 가지는데, 이는 스코프와 호이스팅에서 매우 중요하게 동작됩니다.
2023.03.25 - [Front/JS] - [JavaScript] 2. 호이스팅
var foo;
console.log(foo); // undefined
원시 타입 종류 - null
변수의 값이 없음을 나타내기 위해 일부로 작성할 때 주로 사용됩니다.
참고로 null과 NULL은 서로 다른 값이라 대소문자 구분을 해야합니다.
원시 타입 종류 - Symbol
타입 스크립트에서 주로 사용되고 충돌 위험이 없는 객체의 키를 만들 때 주로 사용됩니다.
'Front > JS' 카테고리의 다른 글
[JavaScript] 10. JavaScript 중간 정리 (1) | 2024.11.30 |
---|---|
[JavaScript] 9.JS에서 데이터 타입 설정 (0) | 2023.04.16 |
[JavaScript] 7. JS 기초 (변수, 데이터 타입) (0) | 2023.04.08 |
[JavaScript] 6. JS 기초 (브라우저의 동작 원리) (0) | 2023.04.02 |
[JavaScript] 5. JavaScript 배경 (0) | 2023.03.27 |