세모이
개발 계발
세모이
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 알고리즘 (1)
    • 자바스크립트 (29)
    • 리액트 (10)
    • HTML&CSS (2)
    • TIL (26)
    • 파이썬 (8)
    • Dev (1)
    • 데일리 (3)
      • 2023 (3)
    • 에러일기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • &&연산자
  • const let 키워드와 블록레벨 스코프
  • 모던 자바스크립트 deep deive
  • 자바스크립트 프로토타입
  • 옵셔널 체이닝
  • 시멘틱 태그
  • 함수
  • 자바스크립트 함수와 일급 객체
  • 자바스크립트 생성자 함수에 의한 객체 생성
  • 개발자 도구 Network
  • 자바스크립트 깊은 복사 얕은 복사
  • 자바스크립트
  • 모던 자바스크립트 deep dive
  • html 신기한 태그
  • 자바스크립트 전역 변수의 문제점
  • 리액트 key
  • 모던 자바스크립트
  • 자바스크립트 strict mode
  • 자바스크립트 프로퍼티 어트리뷰트
  • 자바스크립트 빌트인 객체

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
세모이

개발 계발

TIL

자바스크립트 데이터 타입

2022. 3. 15. 22:19
반응형

데이터 타입

✅ 자바스크립트 데이터 타입

구분 데이터 타입 설명
원시타입 숫자number 타입 숫자. 정수와 실수 구분 없이 하나의 숫자 타입만 존재
문자열string 타입 텍스트 데이터를 나타내는데 사용
작은따옴표(''), 큰따옴표(""), 백틱(``)으로 텍스트를 감싼다.
불리언boolean 타입 논리적 참(true)와 거짓(false)
undefined 타입 자바스크립트 엔진이 변수를 초기화 할 때 사용하는 값
변수를 참조했을 때 undefined가 반환된다면 참조한 변수가 선언 이후 값이 할당된 적이 없는, 즉 초기화되지 않은 변수이다.
null 타입 null은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용
변수에 null을 할당하는 것은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미이다.
심벌symbol 타입 ES6에서 추가된 7번째 타입
심벌 값은 다른 값과 중복되지 않는 유일무이한 값이며 객체의 유일한 프로퍼티 키를 만들기 위해 사용
객체 타입 객체, 함수, 배열 등
자바스크립트를 이루고 있는 거의 모든 것은 객체이다.

const number = 123;
const string = 'Test';
const boolean = true;
const Undefined = undefined;
const Null = null;
const symbol = Symbol('symbol');

console.log(typeof number); // number
console.log(typeof string); // string
console.log(typeof boolean); // boolean
console.log(typeof Undefined); // undefined
console.log(typeof Null); // object
console.log(typeof symbol); // symbol

null의 type이 object인 것은 자바스크립트의 버그
https://archive.ph/sPyGA#selection-107.1-107.169


✅ 데이터 타입이 왜 필요한가?

데이터 타입에 의한 메모리 공간의 확보와 참조

메모리에 값을 저장하려면 먼저 확보해야할 메모리 공간의 크기를 결정해야하기 때문

-> 변수에 할당되는 값의 데이터 타입에 따라 확보해야 할 메모리 공간의 크기가 결정된다.


데이터 타입에 의한 값의 해석

자바스크립트는 값을 2진수로 저장하며 데이터 타입에 따라 2진수를 해석하는 방법이 다르다.

ex) 0100 0001 -> 숫자로 해석하면 65, 문자열로 해석하면 'A'


✅ 동적 언어

자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정된다.
그리고 재할당에 의해 변수의 타입은 언제든지 바뀔 수 있다.

동적 타입 언어의 변수는 값에 따라 타입도 변경 될 수 있고 자바스크립트는 엔진에 의해 암묵적으로 타입이 변환되기도 한다.
즉 유연성은 높지만 신뢰성은 떨어진다.

정적 타입 언어

자바 같은 정적 타입 언어는 변수를 선언할 때 데이터 타입을 사전에 선언하며 컴파일 시점에 타입 체크를 수행하고 데이터 타입에 맞지 않는 값을 할당하면 에러를 발생시킨다.


☑️ 변수를 사용할 때 주의점

  1. 무분별한 변수의 사용은 지양한다.
  2. 변수의 유효 범위를 최대한 좁게 만들어 부작용을 억제한다.
  3. 전역 변수는 최대한 사용하지 않는다.
  4. 변수보다는 상수를 사용해 값의 변경을 억제한다.
  5. 변수 이름은 변수의 목적이나 의미를 파악할 수 있도록 네이밍한다.
반응형

'TIL' 카테고리의 다른 글

SSR vs CSR  (0) 2022.04.04
브라우저 렌더링 과정  (0) 2022.04.04
WebRTC ver.1  (0) 2022.03.14
[자바스크립트] 변수  (0) 2022.03.14
[자바스크립트] 자바스크립트 변수 선언 방법  (0) 2022.03.13
    'TIL' 카테고리의 다른 글
    • SSR vs CSR
    • 브라우저 렌더링 과정
    • WebRTC ver.1
    • [자바스크립트] 변수
    세모이
    세모이
    개발 공부!

    티스토리툴바