자바스크립트 데이터 타입

2019. 7. 14. 18:33javascript

자바스크립트의 데이터 타입은 기본 (1) 데이터 타입과 , (2) 참조 데이터 타입이 있다. 

자바스크립트는 느슨한 타입 체크 언어이기 때문에 변수에 어떤 형태의 데이터를 저장하느냐에 따라 해당 변수의 타입이 결정된다.

 

(1) 기본 데이터 타입 (숫자, 문자, 불린 값, null, undefined) 은 이 자체로 하나의 값을 나타낸다. 

var num = 10;          // 숫자 타입
var str = "hi";        // 문자열 타입
var bollean = true;    //불린 타입
var empty = undefined; //undefined 타입
var null = null; 	   //null 타입

숫자 

자바스크립트에서는 모든 숫자를 64비트 부동 소수점 형태로 저장한다.

따로 정수형이 따로 없고 모든 숫자를 실수로 처리한다.

 

문자 

자바스크립트에서 한번 정의된 문자열은 변하지 않는다 

var x = star
console.log(x[0],x[1],x[2],x[3]) ----- > star

x[0] = "S"
console.log(x) -----> "star"

문자열은 배열처럼 인덱스를 이용해서 접근이 가능하다.

 

불린 값

true와 false값을 나타낸다.

 

null과 undefined

자바스크립트의 "값이 비어있음"을 나타낸다. 

기본적으로 변수의 값이 할당되지 않았으면 undefined타입이 되며 undefined타입의 변수는 변수 자체의 값 또한 undefined이다. 

이처럼 자바스크립트에서 undefined는 타입이자, 값을 나타낸다.

 

null 타입 변수는 typeof의 결과가 object이기 때문에  null 인지 확인할 때는 일치 연산자 ( === )를 사용해야 한다.

var x = null;

console.log(typeof x === null) -----> false;
console.log(x === null) -----> true;

 

(2) 참조 데이터 타입: 객체, 배열

 

자바스크립트에서 기본 데이터 타입을 제외한 모든 값은 객체이기 때문에 함수, 배열, 정규표현식 등도 모두 객체로 표현된다.

객체는 이름(key) : 값(value) 형태의 프로퍼티들을 저장하는 컨테이너이다. 

기본타입은 하나의 값을 가지지만 참조 타입인 객체는 여러 개의 프로퍼티들을 포함할 수 있고 이러한 프로퍼티들은 기본 타입의 값을 포함하거나 다른 객체를 가리킬 수 있다. 이런 성질에 따라 프로퍼티는 함수로 포함할 수 있으며 이를 "메서드"라고 부른다.

 

객체 생성 방법

 

1.Object() 생성자 함수 이용

//Object를 이용해서 foo 빈 객체 생성
var foo = new Object();

//foo 객체 프로퍼티 생성
foo.name = "foo";
foo.age = 30;
foo.gender = "male"; 

console.log(typeof foo); // object
console.log(foo); { name : "foo", age : 30, gender : "male" };

 

2.객체 리터럴 방식  

 

객체 리터럴을 중괄호({})를 이용해서 객체를 생성한다. 중괄호 내에는 "프로퍼티 이름" : "프로퍼티값" 형태로 표기한다.

프로퍼티 이름은 문자열이나 숫자가 올 수 있고 프로퍼티값에는 자바스크립트의 값을 나타내는 어떤 표현식도 올 수 있고 함수일 경우 이를 메서드라고 부른다.

// 객체 리터럴 방식으로 foo 객체 생성
var foo = {
	name : "foo",
    age : 30;,
    gender : "male"
};

console.log(typeof foo); // object
console.log(foo) // { name : "foo", age : 30 , gender : "male" }

 

 

 

 

 

 

 

 

 

 

 

 

'javascript' 카테고리의 다른 글

Prototype, __proto__, constructor 의 관계  (0) 2019.07.29
함수 객체  (0) 2019.07.19
함수  (0) 2019.07.18
배열  (0) 2019.07.17
객체  (0) 2019.07.15