320x100
- 자바스트립트 값은 항상 특정한 타입에 속한다. (ex. 문자열, 숫자형 등)
- 8개의 자료형이 있다.
- 아래와 같이 변수에 어떤 형의 값을 넣느냐에 따라서 변수의 형태가 정해진다. (=동적타입)
// no error
let message = "hello";
message = 123456;
숫자형
- 정수형(integer) : 우리 아는 단순한 정수이다.
- 부동소수점 숫자(floating point numbers) : 우리가 아는 소수이다.
- Infinity : 어떤 수보다 더 큰 수로 무한대를 의미한다.
alert( 1 / 0 ); // 숫자를 0으로 나누면 무한대이다.
alert( Infinity ); // Infinity 로 값을 할당할 수 있다.
- -Infinity : 어떤 수보다 더 작은 수로 마이너스 무한대를 의미한다.
alert( -1 / 0 ); // 마이너스 값을 0으로 나누면 음수 무한대이다.
- NaN : 정의되지 않는 수학연산으로 인해, 리턴되는 값으로 계산 중에 에러가 발생했다는 걸 알 수 있다.
alert( "not a number" / 2 + 5 ); // 문자를 숫자로 나누는 경우, 계산적 오류가 발생하려 NaN이 리턴된다.
alert( "not a number" / 2 ); // NaN, such division is erroneous
Bitint
- 자바스크립트에선 숫자형의 범위가 정해져있으나 거의 대부분의 상황에서는 이 제약이 문제가 되지 않는다.
- BigInt형은 표준으로 채택된 지 얼마 안 된 자료형으로, 리터럴 끝에 n을 붙이면 길이에 상관없이 정수를 나타낼 수 있다.
- Firefox, Chrome, Edge, Safari에서만 BigInt를 지원합니다. IE에선 지원하지 않는다.
const bigInt = 1234567890123456789012345678901234567890n;
문자형
- 자바스크립트에선 문자열(string)을 큰 따옴표("), 작은 따옴표('), 역따옴표(`)로 묶는다.
let str = "Hello";
let str2 = 'Single quotes are ok too';
let phrase = `can embed another ${str}`;
- 역따옴표의 경우, 연산식이나 변수를 포함한 문자열을 만들 수 있다.
let name = "John"; // 변수를 문자열 중간에 삽입
alert( `Hello, ${name}!` ); // Hello, John! // 표현식을 문자열 중간에 삽입
alert( `the result is ${1 + 2}` ); // the result is 3 없다는 점에 주의하시기 바랍니다. 이 방법은 역 따옴표를 써야만 가능합니다.
- C언어나 JAVA의 경우, 글자하나를 저장하는 자료형이 있지만, 자바스크립트에는 없다.
불린형
- 불린형은 true와 false 두 가지 값밖에 없는 자료형이다.
let nameFieldChecked = true; // 네, name field가 확인되었습니다(checked).
let ageFieldChecked = false; // 아니요, age field를 확인하지 않았습니다(not checked)
let isGreater = 4 > 1; alert( isGreater ); // true (비교 결과: "yes")
'null' 값
- 어느 자료형에서 속하지 않는 별도의 자료형이다.
- null을 ‘존재하지 않는(nothing)’ 값, ‘비어 있는(empty)’ 값, ‘알 수 없는(unknown)’ 값을 나타내는 데 사용한다.
'undefined' 값
- '값이 할당되지 않은 상태’를 나타낼 때 사용합니다.
- 변수는 선언했지만, 값을 할당하지 않았다면 해당 변수에 undefined가 자동으로 할당된다.
let age;
alert(age); // 'undefined'가 출력됩니다.
- 개발자가 변수에 undefined를 명시적으로 할당하는 것도 가능하긴 하지만, 변수가 '비어있거나' , '알 수 없는'상태를 나타내려면 null을 사용하고 undefined는 값이 할당되지 않은 변수의 초기값을 위해 예약어로 남겨두는 걸 권장한다.
객체와 심볼
- 객체 : 숫자형이나 문자열은 한 가지만 표현할 수 있는 원시(primitive) 자료형이지만 객체는 좀 더 복잡한 형태의 개체를 표현할 수 있다.
- 심볼 : 객체의 고유한 식별자(unique identifier)를 만들 때 사용
typeof 연산자
변수의 자료형을 알아내고자 할 때 사용한다.
typeof undefined // "undefined"
typeof 0 // "number"
typeof 10n // "bigint"
typeof true // "boolean"
typeof "foo" // "string"
typeof Symbol("id") // "symbol"
typeof Math // "object" 수학 연산을 제공하는 내장 객체
typeof null // "object" null은 객체는 아니지만 하위호완성을 위해 남겨둔 것이다. (언어자체의 오류)
typeof alert // "function" 함수는 원래 객체형인데, 하위호완성을 위해 이렇게 뜨는 것이다.
참고자료 : 자료형
반응형
'Developer > JavaScript 튜토리얼 번역공부' 카테고리의 다른 글
2.7 형 변환 (0) | 2021.06.22 |
---|---|
2.6 상호작용 : alert, prompt, confirm (0) | 2021.06.20 |
2.4 변수와 상수 (0) | 2020.08.06 |
2.3 엄격 모드 (0) | 2020.08.04 |
2.2 코드 구조 (0) | 2020.08.04 |