[JS] 자바스크립트 기본 타입 특징, 객체 특징과 사용 방법

자바스크립트는 다른 언어들과 달리 차이점이 많다. 아래 반드시 알아야 할 타입 특징들을 정리해 보았다.

 

자바스크립트의 기본 타입

자바스크립트의 기본 타입은 숫자, 문자열, 불린값, null, undefined 타입 이 존재한다.

 

자바스크립트는 느슨한 타입 체크 언어다. 변수를 선언할 때 타입을 미리 정하지 않고, var 라는 한 가지 키워드로만 변수를 선언한다. 변수에 어떤 형태의 데이터를 저장하느냐에 따라 해당 변수의 타입이 결정된다.

 

자바스크립트는 하나의 숫자형만 존재한다. 정수형 실수형이 따로 없어서 5/2는 2가 아니라 2.5가 출력된다.

 

문자열은 작은 따옴표(') 나 큰 따옴표(")로 생성한다. 

 

null과 undefiend

null과 undefiend 둘다 값이 비어있음을 나타낸다. null은 개발자가 값이 비어있음을 고의적으로 나타내는데에 사용되고, undefiend는 시스템 로직안에서 기본적으로 값이 할당 되지 않을때이다. 

 

null을 typeof로 object이다.  null과 undefined는 == 으로 비교하면 같지만 ===로 비교하면 틀리다. 

console.log(typeof(null)); //object
console.log(typeof(undefined)); //undefiend

console.log(null == undefined); //true
console.log(null === undefined); //false

 

객체

 

숫자, 문자열, 불린값, null, undefined 같은 기본 타입을 제외한 모든 값은 객체다. 배열, 함수, 정규표현식 등도 객체로 표현된다.

객체는 단순히 key:value 형태의 프로퍼티들을 저장하는 컨테이너서, 해시 자료구조와 비슷하다.

 

 

객체 생성방법

 

1. Object 생성자 함수 이용

foo.name = 'foo';
foo.age = 30;
foo.gender = 'male';

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

 

2. 객체 리터럴 방식

var foo = {
    name : 'foo',
    age : 30,
    gender : 'male'
}

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

 

객체 프로퍼티 읽기/쓰기

console.log(foo.name); //foo
console.log(foo['age']); //30

foo.name = 'foo bar';
console.log(foo.name); //foo bar

foo['age'] = 50;
console.log(foo['age']); //50

객체 프로퍼티는 객체.key 와 객체['key'] 대괄호 방식이 있다. 대괄호 방식을 쓸때는 프로퍼티 이름을 무조건 문자열 형태로 만들어야 한다.

댓글

Designed by JB FACTORY