티스토리 뷰

자료형 이해하기

  • 원시 타입(Primitive Data Type)
    • 고정된 공간에 보관된 원시 타입의 값.
    • 변경이 불가능한 값, 불변값(Immutable Value)
    • Number, Boolean, String, Symbol, null, undefined
  • 참조 타입(Reference Data Type)
    • 값의 메모리 주소를 참조
    • Object
    • (키:값 형태로 이루어진 속성들의 집합, 내부에는 순서도 크기도 고정되어 있지 않음, 키는 반드시 String형)
  • 자료형 확인하는 방법 
    • typeof
      • true/false로 반환
      • 원시자료형과 객체형을 구분하기 위해 활용하는 것이 좋음.
      • 사용법 : typeof str === 'string'
      • 내장 객체 String, Number, Bollean, Function, 원시 자료형, null 일 때는 object 문자열 반환.
    • instanceof
      • 어떤 종류의 객체인지 확인하는데 주로 활용.
      • 원시 타입에 대한 결과는 false를 반환. 내장 객체로 선원된 변수는 true를 반환.
      • 객체, 배열, 함수는 각각 Object를 상속받은 내장 객체. (true반환)
      • null은 object를 상속받은 객체가 아님.
      • undefined은 객체가 아니기 때문에 에러 발생

 

 

자료형 변환 이해하기

  • 자바스크립트에서는 형변환(type coercion) 지원(동적 자료형 언어)
  • 자바스크립트는 느슨한 타입(loosely typed)언어, 혹은 동적(dynamic)언어. 다른 언어들과는 다르게 변수의 타입을 미리 선언할 필요가 없다는 뜻. 
  • 프로그램이 처리되는 과정에서 자동으로 형변환을 지원하며 어떤 값이냐에 따라 변수의 자료형이 변환됩니다.
  • 자료형을 변환하는 두가지 방법
    1. 개발자가 직접 명시적으로 자료형을 변환하거나
    2. 자바스크립트 엔진에 의해 자동으로 자료형이 변환되는 방법
  • 덧셈 : 대입된 값에 따라 숫자형 또는 문자형으로 반환(문자형을 우선순위로 처리)
  • 뺄셈, 곱셈, 나눗셈 연산자는 항상 숫자형을 반환(문자를 넣을 시 NaN 출력)
  • 단항 항수 + 를 통해 문자형을 숫자형으로 변환 가능( +문자 = 숫자로 변환)
  • 내장 객체 함수 : String(), Number()

 

 

 

 

자료형의 종류

Number

  • 숫자 형태를 가진 데이터
  • 정수, 부동 소수점, 작은 수, 큰 수 등 여러 유형의 숫자,
  • Infinity : 무한대를 의미 (Infinity로 나누면 무슨 값이든 0이 됨)
  • NaN : Not a number (결과가 유효하지 않은 값 또는 수자가 너무 커서 표현할 수 없는 값)
  • 64-bit Floating Point(64비트 부동 소수점)

String

  • 텍스트 형태인 데이터를 위미

Boolean

  • treu, false로 이루어짐

null

  • 비어 있는, 존재하지 않는 값 ( 값의 부재를 의미 )
  • 원시 자료형
  • typeof로 object를 반환하지만 객체형이 아님

undefined

  • 변수가 정의되어있지만, 아무 값도 할당받지 않은 상태
  • 원시 자료형

template String

  • ES6
  • `` <-억음 부호로 작성
  • 문자 ${표현식} 문자 공백 가능, 멀티 라인 가능

Symbol (ES6)

  • ES6
  • 생성: 함수 호출로 생성 가능(ex. const symbol = symbol() ; )
  • new 키워드로 생성시 사용시 에러
  • 함수 호출 시 값을 전달할 수 있는데 이는 디버깅 용도. Symbol()은 늘 고유한 값을 반환.
  • 객체의 키로 사용 가능(레퍼런스를 변수에 담고 변수로 접근)
  • 심볼이 객체의 키로 사용되면 for-in루프를 통해 심볼 키를 가져올 수 없음
  • Object의 키를 반환하는 메소드를 사용해도 가져올 수 없고, JSON 문자열로 만들 때에도 해당 키는 빠짐.
  • 객체의 키로 사용할 때 키를 가져오는 방법 : Object.getOwnPropertySymbols 메소드 가능..

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함