2020. 12. 27. 16:53ㆍJAVA SCRIPT
1. 자료형
JAVA SCRIPT에는 8가지 기본 자료형이 존재한다.
JAVA SCRIPT는 자료의 타입은 존재하지만, 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어이다.
이를 "동적 타입 언어"라고 부른다.
예시
let message = "hello"; //문자열
message = 123456; //숫자
2. 숫자형
(1) 정수 및 부동 소수점 숫자를 나타낸다.
(2) 숫자형에 관련된 연산은 대표적으로 곱셈(*), 나눗셈(/), 덧셈(+), 뺄셈(-)이 존재한다.
(3) Infinity, -Infinity, NaN과 같은 "특수 숫자 값"이 포함된다.
3. 특수 숫자값
(1) Infinity
어떤 숫자보다 큰 특수값, 즉 무한대를 나타낸다.
alert(1 / 0); //무한대
alert(Infinity); //무한대(Infinity를 직접 참조하는 것도 가능하다)
(2) NaN
계산 중에 에러가 발생했다는 것을 나타내는 값이다.
alert("문자열" / 2); //NaN, 문자열을 숫자로 나누면 오류가 발생한다.
JAVA SCRIPT는 계산 중 오류가 발생하더라도 NaN을 반환하며 죽지 않는다.
즉, JAVA SCRIPT에서의 수학 연산은 안전하다.
4. BigInt형
JAVA SCRIPT에서는 (2^53 - 1)보다 큰 정수 또는 -(2^53 - 1) 보다 작은 정수는 "숫자형"을 사용해 나타낼 수 없다.
이러한 문제를 해결하기 위해 "BigInt형"을 사용한다.
"BigInt형"은 길이에 상관없이 정수를 나타낼 수 있다.
"BigInt형"인 것을 나타내기 위해 정수 뒤에 "n"을 붙인다.
예시
const bigInt = 1234567890123456789012345678901234567890n;
5. 문자형
JAV SCRIPT에서는 문자열(string)을 따옴표로 묶는다.
종류: 큰 따옴표("), 작은 따옴표('), 역 따옴표(`)
JAVA SCRIPT에서는 큰 따옴표와 작은 따옴표에 차이를 두지 않는다.
역 따옴표 사용법
역 따옴표 사용 시 주의사항
예시
alert("the result is ${1 + 2}"); //출력 내용 = the result is ${1 + 2}, 즉 큰 따옴표는 확장 기능을 지원하지 않는다.
6. 불린형
불린형 = 논리 타입
true, false의 두 가지 값만 존재한다.
불린값은 비교 결과를 저장할 때 사용된다.
예시
let isGreater = 4 > 1;
alert(isGreater); //true
7. null 값
"null 값"은 오직 "null 값"만 포함하는 별도의 자료형을 만든다.
JAVA SCRIPT에서는 "null 값"을 "존재하지 않는 값", "비어있는 값", 알 수 없는 값"을 나타내는데 사용한다.
8. undifined 값
자신만의 자료형을 형성한다.
"값이 할당되지 않은 상태"를 나타낼 때 사용한다.
예시
let age;
alert(age); //"undifined"가 출력된다.
개발자가 변수에 "undifined"를 명시적으로 할당하는 것도 가능하다.
예시
let age = 100;
age = undefined;
alert(age); //"undefined"가 출력된다.
9. 객체와 심볼
(1) 객체형
객체(object)형은 특수한 자료형이다.
객체형을 제외한 자료형은 문자열이든 숫자든 한 가지만 표현할 수 있기 때문에 "원시 자료형"이라 부른다.
하지만 객체는 데이터 컬렉션이나 복잡한 개체를 표현하는 것이 가능하다.
(2) 심볼형
심볼(symbol)형은 객체의 고유한 식별자를 만들 때 사용된다.
10. typeof 연산자
(1) 인수의 자료형을 반환한다.
(2) 문법 형태
연산자 형태: typeof 인수
함수 형태: typeof(인수)
예시
위의 마지막 세 줄에 대해서 알아보자.
(1) Math
Math는 수학 연산을 제공하는 내장 객체이다. 즉 object이다.
(2) null
"typeof null"의 결과는 "object"이다.
null은 별도의 고유한 자료형을 가지는 특수 값으로 객체가 아니지만, 하위 호환성을 유지하기 위해 이런 오류를 수정하지 않고 남겨두었다.
언어 자체의 오류이므로 "null"이 객체가 아님에 유의해야 한다.
3. 함수
typeof는 피연산자가 함수면 "function"을 반환한다.
그러므로 typeof alert는 "function"을 출력한다. 그런데 "함수형"은 따로 존재하지 않는다.
함수는 객체형에 속한다. 이런 동작 방식이 형식적으론 잘못되긴 했지만, 아주 오래전에 만들어진 규칙이었기 때문에 하위 호완성 유지를 위해 남겨진 상태이다.
실무에선 이런 특징이 매우 유용하게 사용되기도 한다.
11. 연습 문제
해답
hello 1
hello name
hello Ilya
'JAVA SCRIPT' 카테고리의 다른 글
[JAVA SCRIPT]형 변환 (0) | 2020.12.29 |
---|---|
[JAVA SCRIPT]alert, prompt, confirm을 이용한 상호작용 (0) | 2020.12.29 |
[JAVA SCRIPT]변수, 상수 연습 문제 (0) | 2020.12.25 |
[JAVA SCRIPT]상수 (0) | 2020.12.25 |
[JAVA SCRIPT]변수 (0) | 2020.12.25 |