Developer/JavaScript 튜토리얼 번역공부

2.5 자료형

jaddong 2021. 5. 22. 20:17
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