INTRO
진짜... 진짜 진짜 너무 피곤해서 잘까 하다가 오늘도 안 하면 절대 절대 안 하겠지 싶어서 일단 앉았습니다
제발 두 시간만 앉아있자...
오늘도 양심이 이긴 관계로 출처는 맨 위에 링크해둘거예요
https://ko.javascript.info/types
자료형
자바스크립트의 변수는 자료형에 관계없이 모든 데이터일 수 있습니다.
말로 하는 것보다 코드가 빠르겠네요
let message = "hello"; //이건 문자열이 됩니다.
massage = 123456; //이때 숫자가 돼요
자료에 타입이 존재하긴 하지만, 언제든지 바꿀 수 있어서 동적타입 언어라고 합니다.
숫자형
일반적으로 알고 있는 건... 정리 안 할게요 너도 나도 우리 모두 알잖아?
우리가 일반적으로 쓰는 숫자 외에 Infinity, -Infinity, NaN같은 특수 숫자 값도 포함하고 있습니다.
- Infinity : 어떤 숫자보다 더 큰 특수 값. 즉, 무한대 를 나타냅니다.
alert(1/0); //어떤 숫자던 0으로 나누면 무한대
alert(Infinity); //무한대를 이렇게 나타내는 것도 가능하다.
- NaN : 계산 중에 에러가 발생했다는 것을 나타내주는 값으로 부정확하거나 정의되지 않은 수학 연산을 사용할 때 NaN을 반환합니다
NaN에는 어떤 추가 연산을 해도 결국 NaN이 반환됩니다.
alert("숫자가 아닌 어떤 것"/2); //이 경우 NaN을 반환합니다.
BigInt
내부 표현 방식 때문에 (253-1)(9007199254740991) 보다 큰 값 혹은 -(253-1) 보다 작은 정수는 숫자형으로 나타낼 수 없습니다.
그래서 나온 것이 BigInt입니다. 표준으로 채택된 지 얼마 안 된 자료형이고 길이에 상관 없이 정수를 나타낼 수 있습니다.
//아래처럼 끝에 n을 붙이면 BigInt형 자료가 됨
const myBigInt = 12332983576249352523945203967243520n;
문자형
자바스크립트에서는 큰따옴표와 작은따옴표에 차이를 두지 않습니다.
역따옴표로 변수나 표현식을 감싼 후 ${...} 안에 넣어주면 원하는 변수나 표현식을 문자열 중간에 넣을 수 있습니다.
//두 변수 다 John으로 인식
let name = "John";
let myName = 'John';
//변수를 문자열 중간에 삽입
alert(`Hello, ${name}!`); //Hello John이라는 alert
불린형
논리 타입. true, false로 이루어져있습니다.
null값
어느 자료형에도 속하지 않는 값으로 오로지 null 값만 포함하는 별도의 자료형을 만듭니다.
다른 언어의 null과 다르게 존재하지 않는 값, 비어있는 값, 알 수 없는 값을 나타내는 데 사용합니다.
let age = null; //age를 알 수 없거나 이 값이 비어있음을 나타냅니다
undefined 값
null 처럼 자신만의 자료형을 형성하는 자료형입니다.
이 자료형은 값이 할당되지 않은 상태를 나타낼 때 사용하는 자료형으로, 변수 선언은 했지만 값을 할당하지 않은 경우 자동으로 할당됩니다.
let age;
alert(age); //이 경우 undefined가 출력
객체와 심볼
객체(object)형은 특수한 자료형으로, 문자/숫자 둘 중 한 가지만 표현할 수 있는 원시 자료형들과는 달리 데이터 컬렉션이나 복잡한 개체를 표현할 수 있습니다.
심볼(symbol)은 객체의 고유한 식별자를 만들 때 사용합니다.
typeof 연산자
인수의 자료형을 반환하는 자료형입니다. 자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아낼 때 유용합니다.
두 가지 형태의 문법을 지원하는데 이것도... 코드로 알아보는 게 나을 거 같아요
type of 0 //연산자 타입
type of fn_ex() //함수 타입
OUTRO
맨날 천날 자바만 하고 자바로만 살았는데 먼가... 다른듯 같고 같은듯 다르고 신기하긴 하네요
사실 자료형은 너무 너무 너무 많이 했던 거라 살짝 지루할 뻔했는데 그래도 정신줄 잡고 즐겁게 했어요
공부... 해야지 달걀 개발자 가보자고
'공부 > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트의 기본 (0) | 2023.04.05 |
---|---|
공부를 위한 기본 세팅 (0) | 2023.04.04 |