본문 바로가기

💕 타입

💓 원시타입(Primitive type)

숫자(number)

정수와 실수를 따로 구분하지 않고 모든 수를 실수 하나로만 표현한다.
매우 큰 수나 작은 수를 표현할 경우 e 표기법을 사용할 수 있음

var firstNum = 10;     // 소수점을 사용하지 않은 표현
var secondNum = 10.00; // 소수점을 사용한 표현
var thirdNum = 10e6;   // 10000000
var fourthNum = 10e-6; // 0.00001

문자열(string)

큰따옴표나 작은따옴표로 둘러싸인 문자의 집합

var firstStr = "이것도 문자열입니다.";      // 큰따옴표를 사용한 문자열
var secondStr = '이것도 문자열입니다.';     // 작은따옴표를 사용한 문자열
var thirdStr = "나의 이름은 '홍길동'이야."  // 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있음.
var fourthStr = '나의 이름은 "홍길동"이야.' // 큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있음.

🚨 자바스크립트에선 숫자와 문자열을 더할 수 있다.
이럴 경우 자바스크립트는 숫자를 문자열로 자동 변환하여 두 문자열을 연결하는 연산을 수행함.

var num = 10;
var str = "JavaScript";
document.getElementById("result").innerHTML = (num + str); // 10JavaScript

불리언(boolean)

참(ture)와 거짓(false) 표현

var firstNum = 10;
var secondNum = 11;
document.getElementById("result").innerHTML = (firstNum == secondNum); // false

심볼(symbol)

ES6 부터 새롭게 추가된 타입
유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있다.

var sym = Symbol("javascript");  // symbol 타입
var symObj = Object(sym);        // object 타입

null과 undefined

  • null : object타입이며 아직 값이 정해지지 않은 것을 의미
  • undefined : null과 달리 타입이 정해지지 않는 것을 의미. 초기화되지 않은 변수나 존재하지 않는 값에 접근할 떄 반환됨

nullundefined는 동등 연산자(==) 일치 연산자(===)로 비교할 때 그 결과 값이 다르므로 주의

var num; // 초기화하지 않았으므로 undefined 값을 반환함
var str = null; // object 타입의 nulㅣ 값
typeof secondNum; // 정의되지 않는 변수에 접근하면 undefined 값을 반환함

💓 객체 타입(Object type)

객체(object)

자바스크립트의 기본 타입
객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체

var dog = { name: "해피", age: 3 }; // 객체의 생성
// 객체의 프로퍼티 참조
document.getElementById("result").innerHTML = "강아지 이름은 " + dog.name + "이고, 나이는 " + dog.age + "살 입니다.";

💙 typeof 연산자

typeof 연산자는 피연산자의 평가 전 자료형을 나타내느 문자열을 반환한다.
typeof 연산자로 타입을 확인할수 있다!

typeof 10; // number
typeof "문자열" // string
typeof true; // boolean 타입
typeof undefined; // undefined 타입
tyeof null; // object 타입
typeof [1, 2, 4]; // object 타입
typdof function(){}; // function 타입

Seize the day!

Spring MVC | Spring Boot | Spring Security | Mysql | Oracle | PostgreSQL | Vue.js | Nuxt.js | React.js | TypeScript | JSP | Frontend | Backend | Full Stack | 자기계발 | 미라클 모닝 | 일상