Study/Node.js

[노드JS] 자바스크립트의 객체와 함수

AC 2019. 3. 10. 00:18



변수라는 것은 데이터를 담아주는 상자이다.


그래서 변수를 변수 상자라고 부르기도 하며, 이 안에 들어가는 데이터의 크기에 따라 상자의 크기가 달라진다.


자바나 C 언어와 같은 타입 기반의 언어 (Type based language)는 메모리를 절약하기 위해 정수와 문자열을 만들 때 다른 크기의 변수 상자를 만들고 변수 앞에 int, String과 같은 타입(Type, 자료형)을 지정한다.


그러나 자바스크립트는 자료형을 명시하지 않는다.


이 때문에 자바스크립트는 모든 변수를 var 키워드로 선언하고 사용한다.


자바라는 언어에서 변수를 만들 때 사용하는 방식과 자바스크립트에서 변수를 만들 때 사용하는 방식을 비교해보자.



▲ 자바와 자바스크립트의 변수 타입 비교


자바는 숫자'10'을 넣어두기 위해 변수 상자를 a라는 이름으로 만들고 '소녀시대'라는 글자(문자열)를 그 안에 넣어두기 위해 변수 상자를 b라는 이름으로 만든다. 이 때 두 개의 변수 상자 크기는 서로 다르며, 크기가 서로 다르다는 것을 명확히 알 수있도록,


변수 앞에 int나 String과 같은 타입을 명시한다. 이것을 자바 코드로 만들 때는 다음과 같이 입력한다.


int a = 10;

String b = '소녀시대';


그런데 자바스크립트에서는 int나 String으로 타입을 명시하지 않기 때문에 두 개의 변수 모두 var 키워드로 만든다.

자바스크립트 코드로 만들 때는 다음과 같이 입력한다.


var a = 10;

var b = '소녀시대';


자바스크립트에서도 숫자를 넣어 둘 때는 문자열보다 작은 크기의 변수 상자를 만들게 되므로 실제로 변수 상자의 크기는 다를 수 있다. 따라서 두 개의 변수 모두 var 키워드를 사용했지만, 실제로 변수 상자의 크기는 다를 수 있다는 점을 생각해야 한다.


하지만, 변수를 만들 때는 var 키워드만 사용하기 때문에 자바스크립트로 만든 코드는 간결하고 쉬워보인다.


자료형 / 설명


Boolean : [기본 자료형] true와 false의 두 가지 값을 가지는 자료형

Number : [기본 자료형] 64비트 형식의 IEEE 754값이며, 정수나 부동소수 값을 가지는 자료형, 몇 가지 상징적인 값을 가질 수 있다. NaN(숫자가 아님), +무한대(Number.MAX_VALUE로 확인), -무한대(Number.MIN_VALUE로 확인)


String : [기본 자료형] 문자열 값을 가지는 자료형

undefined : 값을 할당하지 않은 변수의 값

null : 존재하지 않는 값을 가리키는 값

Object : 객체를 값으로 가지는 자료형, 객체는 속성들을 담고 있는 가방(Collection)으로 볼 수 있으며, 대표적인 객체로 Array나 Date를 들 수 있음.


▲ 자바스크립트의 자료형


자바스크립트에서 사용할 수 있는 자료형으로 Boolean, Number, String을 들 수 있으며, 특별한 값인 undefined와 null에 대해서도 알아두어야 한다. 새로운 변수를 만들었을 때 실제로는 자료형에 따라 다른 크기의 변수 상자가 만들어지지만 코드에서는 var 키워드만 사용하므로 코드만 보아서는 변수 상자의 크기를 알 수가 없다. 이 때문에 타입을 확인할 수 있도록 typeof 연산자를 제공한다.



또한 문자열을 숫자로 변환할 수 있도록 parseInt(), parseFloat() 함수도 제공한다.


LIST