[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