자료형

MyeonghoonNam·2021년 8월 2일
1

모든 프로그래밍 언어는 내장 자료형이 존재하고, 언어마다 내장 자료형이 다르다.
이번 포스팅에서는 자바스크립트의 내장 자료형에 대하여 알아보자.

자바스크립트에서는 변수의 타입을 미리 선언할 필요가 없다.

값이 할당되는 과정에서 자동으로 타입이 결정된다.

따라서 같은 변수에 여러 타입의 값을 할당할 수 있는데 이를 동적 타이핑(Dynamic Typing)이라고 한다.

원시 자료형

원시 자료형의 값변경 불가능한 값이다.

원시 값 자체와, 원시값을 할당한 변수를 혼동하지 말자 !

변수새로운 값을 다시 할당할 수 있지만, 이미 생성한 원시 값은 객체, 배열, 함수와는 달리 변형이 불가능함을 뜻한다.

Number

  • 정수 및 실수까지 일반적으로 알고있는 숫자부터 10진수 이외의 수도 표현가능하다.
let intger = 126;       // 정수
let float = 1.26;       // 실수
let negative = -126;    // 음수
let binary = 0b1111011; // 2진수
let octal = 0o111;      // 8진수
let hex = 0xAB;         // 16진수

let nan = parseInt('abc') // NaN => 부정확하거나 정의되지 않은 연산
let inf = 1 / 0 // Infinity => Infinity : 양의 무한대, -Infinity : 음의 무한대

console.log(binary); // 123(10진수로 변환한 숫자)
console.log(octal); // 73(10진수로 변환한 숫자)
console.log(hex); // 171(10진수로 변환한 숫자)

String

  • 문자를 데이터로 저장하는 것문자열(String)이라고 한다.
  • 3가지 표현방법으로 문자열을 표현할 수 있다.
    • 큰 따옴표 : "string"
    • 작은 따옴표 : 'string'
    • 역 따옴표(백틱) : `string`
let str1 = "string";
let str2 = 'string';
let str3 = `string ${str1}`; // 백틱 안에 ${statement} 를 사용하면 변수나 표현식을 문자열 중간에 삽입할 수 있다.
let str4 = "'string'"; // 큰 따옴표 안에 작은 따옴표
let str5 = '"string"'; // 위와 반대의 경우
let str6 = "\"string\""// 큰 따옴표를 한 종류로 출력하고 싶은 경우(작은 따옴표도 마찬가지)

console.log(str1);// string
console.log(str2);// string
console.log(str3);// string string
console.log(str4);// 'string'
console.log(str5);// "strnig"
console.log(str6);// "string"

Boolean

  • boolean은 논리적인 요소를 지니며 true, false 두 가지 값만 가지고 있다.
let yes = true;
let no = false;

console.log(typeof yes);
console.log(typeof(no));

Undefined

  • 변수 혹은 상수선언되었지만 아무런 값도 할당되어지지 않은 상태의 자료형이다.

  • 선언 이후에 값을 할당해주지 않은 변수나, 존재하지 않는 객체 프로퍼티에 접근할때 undefined가 반환된다. 이는 자바스크립트 엔진이 자동으로 undefined 값을 할당하는것이다.

let notYet;

console.log(notYet); // undefined

Null

  • 해당 변수가 비어있음을 사용자가 의도적으로 나타내는 경우에 Null 값을 할당한다.
let test = null;

console.log(test); // null;

객체 자료형

원시 자료형은 문자열이든 숫자든 한 가지만 표현할 수 있지만, 객체는 이름과 값을 가지는 속성과 메소드를 포함한 복잡한 개체이다.

속성 값은 객체를 포함하여 어떠한 자료형도 될 수 있기 때문에, 복잡한 데이터 구조를 형성하는게 가능해진다.

속성은 키값으로 식별되어지며, 키 값은 String 값이다.

참조 자료형이라고도 불린다.

Object

  • 관련된 데이터나 함수들의 집합이다.
  • 여러 자료형의 값을 키(key)를 통해 지닐 수 있다.
let obj = {
    name : 'hoon',
    sayHi : function() {
        console.log(`${name}, hi`);
    }
}

console.log(obj);// { name: 'hoon', sayHi: [Function: sayHi] }

Array

  • 여러 자료형의 값을 가질 수 있지만 Object와 달리 키가 아닌 인덱스를 통해 값을 다룬다.
let array = [0, 2, 'false', 'c', 'true'];

console.log(array[0]); // 0
console.log(array[1]); // 2
console.log(array[2]); // 'false'

Function

  • 함수 역시 변수에 담을 수 있는 객체 자료형이다.
let func = () => {
  return 0;
};

참고자료

profile
꾸준히 성장하는 개발자를 목표로 합니다.

0개의 댓글