TIL 2. 데이터 타입의 종류

윤창현·2021년 8월 2일
4

T.I.L

목록 보기
2/10
post-thumbnail

javascript의 데이터 타입


* 자바스크립트의 데이터 타입에 대해서 공부를 해보았다!

데이터 타입은 크게 두 가지로 나누어 볼 수 있는데 그것은 바로

원시 타입 (primitive type)객체 타입 (object type)이다


💻 원시 타입 (primitivie data type)

  • 객체가 아니면서 메서드도 가지지 않는 데이터이다.
  • Number, String, Boolean, Null, Undefined,Symbol로 구성되어 있다.
  • 원시 타입은 메모리에 값을 그대로 저장한다.

1. Number(숫자형)

  • 프로그래밍 언어에서의 숫자는 우리가 일반적으로 알고 있는 숫자와 그 성격이 사실상 동일하며, 숫자를 이용하여 덧셈(+)/뺄셈(-)/곱셈(*)/나눗셈(/)등의 연산을 할 수 있다.
     // 산술 연산 (arithmetic operators)
1 + 2; // 더하기
3 - 4; // 빼기
5 * 6; // 곱하기
7 / 8; // 실수 나누기
14 % 3; // 나머지
2 ** 3; // 거듭제곱

// 비교 연산 (comparison operators)
1 < 2; // 작다
3 > 4; // 크다
5 <= 5; // 작거나 같다
6 >= 7; // 크거나 같다
8 === 8; // 같다
8 !== 9; // 같지 않다

// number 타입에 대해 위와 같은 연산자(operator)를 사용해 연산을 할 수 있다.

2. String(문자형)

  • 하나의 문자와 두 개 이상의 문자로 이루어진 문자열로 이루어진
    데이터 타입이고 따옴표로 묶어야 하며, 큰따옴표나 작은따옴표 상관은 없다.
    다만, 묶은 따옴표는 처음과 끝이 동일해야 한다.
const name = '열공하자'; // (O)
const name = "열공하자"; // (O)

const name = '틀렸다"; // (X)
const name = "틀렸다'; // (X)
  • string은 같은 string타입끼리의 +연산이 가능하다.
const name = 'a'; //하나의 문자
const chang = 'chang'; // 두개 이상의 문자로 이루어진 문자열
const meeting = 'hello' + chang; // string끼리의 +연산이 가능

3. Boolean(논리형)

  • 컴퓨터 내에서 참과 거짓을 나타낼 때 주로 사용되며 거짓을 나타내는 false와 참을 나타내는 true가 있고
  • 타입은 다르지만 false(거짓)으로 간주되는 값들로 0, null, undefined, NaN, ''이 있고, 이외의 값들은 true(참)으로 간주된다.

4. null

  • null은 명시적으로 값이 없음을 나타낸다. 코드에서는 null로 표현되며, 자바스크립트는 case-sensitive하므로 null은 Null과 NULL이랑은 다르다.

  • 함수가 호출되었을 때 값을 반환할 수 없을 때 null을 반환하기도 한다.

  • 값이 null 인지 확인할 때는 일치 연산자(===)를 꼭 사용하여야 한다.

let myName = null;
console.log(typeof myName === null); // false
console.log(myName === null); // true

5. Undefined

  • undefined은 변수를 선언하고 값을 할당하지 않으면 자동으로 들어가는 값이다.

  • 어떤 변수를 만들고 그 값을 정의해 주지 않았을 때나 존재하지 않는 객체 프로퍼티에 접근할 경우 undefined가 반환된다.

👉 null과 undefined의 차이점

  • undefined는 단어의 의미 그대로 정의되지 않음이라는 뜻이며 값이 대입되지 않은 상태를 위해 많이 사용한다.

  • null이라는 값은 undefined와 다르게 의도적으로 값이 없음을 표현하고 싶을 때 대입해 주곤 한다.

6. Symbol

  • 심볼은 ES6에서 새롭게 추가된 타입으로 변경 불가능한 원시 타입의 값이다. 심볼은 주로 이름의 충돌 위험이 없는 유일한 객체의 Property Key를 만들기 위해 사용한다.

💻 객체 타입 (object type)

  • 객체는 데이터와 그 데이터에 관련한 동작(절차, 방법, 기능)을 모두 포함할 수 있는 개념적 존재이다. 달리 말해, Property와 Method를 포함할 수 있는 독립적 주체이다.

  • JavaScript는 객체 기반의 스크립트 언어로써 JavaScript를 이루고 있는 거의 모든 것이 객체이다.

  • 원시 타입을 제외한 나머지 값들(배열, 함수, 정규표현식 등)은 모두 객체이다. 또한 객체는 참조에 의한 전달 (pass-by-reference)방식으로 전달된다.


📚💡 지금 배우고 있는 위의 타입들과 각종 연산자, 객체와 함수까지,
이제까지의 공부와는 완전히 다른(?) 방식의 공부이지만,
이렇게 지식을 정리하고 쌓아가는 것에 재미와 의미를 두면서 앞으로
더 자세히 파고들어야겠다고 느꼈다.

📝 나의 부족함과 초조함이 풍족함과 여유로움으로 바뀔 때 까지 TIL 하자

profile
긍정적 영향을 전하며 함께하고 싶은 개발자를 그린다.

8개의 댓글

comment-user-thumbnail
2021년 8월 7일

ㅁㄴㅇ

2개의 답글
comment-user-thumbnail
2021년 8월 7일

ㄴㅇ

답글 달기
comment-user-thumbnail
2021년 8월 7일

ㄴㅇ

1개의 답글