본문 바로가기
카테고리 없음

자바스크립트 타입변환, 변수

by Apeach_:) 2019. 7. 22.

자바스크립트의 타입

 

1. 원시 타입

 

2. 객체 타입

 

원시 타입(primitive type)은 다음과 같습니다.

 

1. 숫자(number)

2. 문자열(string)

3. 불리언(boolean)

4. 심볼(symbol) : ECMAScript 6부터 제공됨

5. undefined

 

객체 타입(object type)은 다음과 같습니다.

 

6. 객체(object)

 

1. 숫자

 

var firstNum = 10;     // 소수점을 사용하지 않은 표현

var secondNum = 10.00// 소수점을 사용한 표현

var thirdNum = 10e6;   // 10000000

var fourthNum = 10e-6// 0.00001

 

 

2. 문자열(string)

 

var firstStr = "이것도 문자열입니다.";      // 큰따옴표를 사용한 문자열

var secondStr = '이것도 문자열입니다.';     // 작은따옴표를 사용한 문자열

var thirdStr = "나의 이름은 '홍길동'이야."  // 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있음.

var fourthStr = '나의 이름은 "홍길동"이야.' // 큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있음.

 

*자바스크립트에서는 숫자와 문자열을 더할 수도 있습니다.

이럴 경우에 자바스크립트는 숫자를 문자열로 자동 변환하여, 두 문자열을 연결하는 연산을 수행합니다.

 

var num = 10;

var str = "JavaScript";

document.getElementById("result").innerHTML = (num + str); 

 

3.불리언(boolean)

 

var firstNum = 10;

var secondNum = 11;

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

 

4.심볼(symbol)

 

심볼 타입은 ECMAScript 6부터 새롭게 추가된 타입입니다.

심볼은 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있습니다.

 

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

var symObj = Object(sym);        // object 타입

 

5. typeof 연산자

 

typeof 연산자는 피연산자의 타입을 반환하는 피연산자가 단 하나뿐인 연산자입니다.

 

typeof 10;        // number 타입

typeof "문자열";  // string 타입

typeof true;      // boolean 타입

typeof undefined; // undefined 타입

typeof null;      // object 타입

 

6. null과 undefined

var num;          // 초기화하지 않았으므로 undefined 값을 반환함.

var str = null;   // object 타입의 null 값

typeof secondNum; // 정의되지 않은 변수에 접근하면 undefined 값을 반환함.

 

객체(object)

 

자바스크립트의 기본 타입은 객체(object)이고,

객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체입니다.

 

var dog = { name: "해피", age: 3 }; // 객체의 생성

// 객체의 프로퍼티 참조

document.getElementById("result").innerHTML =

    "강아지의 이름은 " + dog.name + "이고, 나이는 " + dog.age + "살 입니다.";

 

 

타입 변환(type conversion)

 

자바스크립트는 타입 검사가 매우 유연한 언어입니다.

자바스크립트의 변수는 타입이 정해져 있지 않으며, 같은 변수에 다른 타입의 값을 다시 대입할 수도 있습니다.

 

묵시적 타입 변환(implicit type conversion)

자바스크립트는 특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용합니다.

즉, 문자열 값이 오길 기대하는 곳에 숫자가 오더라도 자바스크립트는 알아서 숫자를 문자열로 변환하여 사용합니다.

 

NaN은 Not a Number의 축약형으로, 정의되지 않은 값이나 표현할 수 없는 값이라는 의미를 가집니다.

 

명시적 타입 변환 (explicit type conversion)

 

자바스크립트에서는 묵시적 타입 변환을 많이 사용하지만, 명시적으로 타입을 변환할 방법도 제공합니다.

명시적 타입 변환을 위해 자바스크립트가 제공하는 전역 함수는 다음과 같습니다.

 

1. Number()

2. String()

3. Boolean()

4. Object()

5. parseInt()

6. parseFloat()