원시 타입 (primitive types)
- 내장된 기본 타입
- 한 번에 하나의 값 만 가질 수 있음, 하나의 고정된 저장 공간 이용
- Number, String, Boolean, Null, Undefined
비 원시 타입 (non-primitive types)
- 한 번에 여러 개의 값을 가질 수 있음, 여러 개의 고정되지 않은 동적 공간 사용
- Object, Array, Function
let number = 10;
number = "10"; // 원시 타입
let list = [1, 2, 3]; //비원시 타입
Numbers
- JavaScript에서 숫자는 한 가지 타입 (int, float 구분 X)
- 숫자는 메모리에서 특정한 양의 공간을 갖게 된다.
- JavaScript는 정확도가 다소 떨어짐 (예) 길이가 긴 소수의 경우)
- 연산 순서 PEMDAS를 따른다.
(parentheses, exponent, multiplication, division, addition, subtraction)
괄호 → 지수 → 곱하기 → 나누기 → 더하기 → 빼기 - Infinity(무한), -Infinity, NaN(숫자가 아닌 값) etc…
let number1 = 25;
let number2 = 12.12345;
console.log(number1 / 5 + number2); //17.12345
Strings
원시 타입. 텍스트 데이터.
- 따옴표로 감쌀 것
""
''
- 일관성 유지하기 (섞어 쓰지 X)
- 감싸는 형태는 가능
"I told her 'go away'"
- Template Literals
- 표현식을 내장하고, 평가된 결과로 나타나는 문자열
- 백 틱(back-tick)
` `
기호 사용 ${ }
시퀀스를 사용하면 표현식으로 취급되어 평가됨.
let fruits1 = "apple"; //큰따옴표
let fruits2 = 'melon'; //작은따옴표
let fruits3 = `strawberry`; //역따옴표(백틱)
console.log(`I counted ${3 + 4} sheep`); // "I counted 7 sheep"
Booleans
true
orfalse
- 예/아니오, 진실/거짓을 1이나 0으로 저장
- 활용 예시 (로그인 상태 관리)
let isLoggedIn = false; //로그인이 되었는지 안되었는지
undefined와 null
undefined
- 할당되지 않은 변수
null
- 값의 의도적 부재
- 변수에 대해 값으로 직접 지정해주는 요소
형 변환 (type conversion)
자료형들을 자동으로 알맞게 변환해주는 것
1. 암묵적(묵시적) 형 변환
- 우리가 의도해서가 아니라 자동으로 자료형을 변환해주는 것.
- 문자열과 숫자를 더할 때는 숫자를 문자열로 바꾼다.
- 문자열과 숫자를 빼거나, 곱하거나, 나눌 땐 문자열을 숫자로 바꾼다.
let num1 = "15";
let num2 = 2;
console.log(num1 + num2); // 17
console.log(num1 * num2); // 30
2. 명시적 형 변환
- 내장 함수 등을 이용하여 값을 유지하며 자료형을 의도적으로 변환시키는 것.
- parseInt() 내장 함수는 문자열을 받아 숫자로 리턴해줌
let num1 = "12";
let num2 = 3;
console.log(parseInt(num1) + num2); //15
'JavaScript' 카테고리의 다른 글
[JS] 배열 (0) | 2022.07.02 |
---|---|
[JS] 조건문 (0) | 2022.07.02 |
[JS] 연산자 (0) | 2022.06.29 |
[JS] 변수와 상수 (0) | 2022.06.29 |
[JS] 자바스크립트란 (0) | 2022.06.29 |
댓글