Data Type

holang-i·2021년 2월 24일
0
post-thumbnail
post-custom-banner

자바스크립트에는 8가지 기본 데이터형이 있다.

DataType이란 프로그램에서 다룰 수 있는 값의 종류를 말하고, 자바스크립트에서는 기본 타입을 크게 기본 자료형 타입(primitive type)과 객체 타입(object type)으로 구분한다.

Dynamic typing

자바스크립트는 느슨한 타입의 언어 또는 동적인 언어라고 말한다. 이 말은 변수를 만들 때 타입을 정해놓는 것이 아니라 변수에다가 타입을 상관하지 않고 값을 할당해도 되는 것을 의미한다.

한 변수에 여러 타입의 값을 넣을 수 있는데 아래의 코드를 보면 이해하기가 더욱 쉽다.

const temp = "안녕하세요"; // temp는 String이다.
temp = 777; //temp는 Number이다.
temp = true; //temp는 Boolean이다.

Number

  • Number는 정수, 부동 소수점 숫자를 모두 나타낸다.
  • 사칙연산(+, -, *, /)외에도 숫자에 대한 연산을 모두 사용할 수 있다.
  • NaN(Not a Number)라는 것도 있는데 이는 Number가 될 수 없음을 의미한다.
let num = 12345;
num = 99.99

String

문자열이라고 부르는 String 타입은 사용하려면 " " 따옴표로 묶어줘야된다.
따옴표의 종류에는 3가지가 있다.

1. 큰 따옴표: let word1 = "JavaScript"
2. 작은 따옴표: let word2 = 'JavaScript'
3. 백틱: let word3 = `JavaScript` //연산의 결과를 구하는 경우 백틱을 주로 사용한다.

큰 따옴표와 작은 따옴표는 단순히 " ", ' ' 문자를 나타낼 때 사용하는 따옴표이다.
하지만 백틱의 경우 다양한 연산과 문자열 연산을 할 때, 변수와 표현식을 같이 사용할 수 있어 편리한 점이 있다.

let userName = 'qwert';
alert(`${userName}님 안녕하세요! :)`);

백틱을 사용할 때 변수를 처리하는 방법은 ${ 변수 }를 넣어서 사용할 수 있다.


Boolean (logical type)

  • Boolean 값에는 true, false가 있다.
  • boolean값은 일반적으로 yes/no의 값을 저장하는 데 많이 쓰인다고 한다.
  • true: 맞는 경우
  • false: 틀린 경우

또는 값이나, 조건을 판별한 뒤 그 결과를 리턴할 때도 쓰인다.

let num = 7;
if(num === 7) {
  return true; 
}

null

null은 값이 비어 있음을 명시하기 위해 넣는 값이다.
아무것도 없는, 비어있음을 나타내는 값이다.

let year = null;
console.log(year); //null

undefined

undefined는 아직 값을 정의하지 않는 값이다. null은 비어있음을 명시하는 것이고,
undefined는 값 자체가 정의된 적이 없는 값을 나타낸다.

let name;
console.log(name); //undefined

BigInt

BigInt는 Number 타입 값이 안정적으로 나타낼 수 있는 253 - 1 보다 큰 정수를 표현할 수 있는 내장객체로, 정수 리터럴(값)뒤에 n을 붙여서 사용할 수 있다.
또는 BigInt() 메서드 안에 값을 넣어서 생성할 수 있다.


const bigInt = 9007199254740991n;
const bigIntStr = BigInt("9007199254740991");

Symbols

변경 불가능한 원시 타입의 값을 나타낸다. Symbol은 주로 이름의 충돌 위험이 없는 유일한 객체의 property key를 만들기위해 사용된다고 한다.


typeof operator

typeof 연산자는 해당 유형의 값의 타입을 문자열로 리턴해준다.
사용하는 방법은 typeof ( 값 ), typeof 값 으로 두 가지 방식이 있지만, 결과는 동일하다.

typeof undefined //undefined
typeof ("hello!"); //string
typeof true //boolean
typeof (1234567) //number
typeof 10n //bigint







모던자바스크립트를 공부한 뒤 작성하였습니다.
https://javascript.info/types

post-custom-banner

0개의 댓글