본문 바로가기

Development/Web & Server

[Javascript] Javascript vs C언어 변수 차이점


- 대응 타입형


C언어

Javascript 

short, int, float, double, long

Number (64bit Floating Point)

IEEE 754 (Value 52bits, Exponent 11bits sign 1bit)

char , char *

String

bool

Boolean 

배열

Array


위의 표를 보면 약간 이상한점을 알수 있겠지만 Javascript의 타입들은 전부 대문자로 시작된다. 여기서 조금 눈치가 있다면... 객체구나.. 라는 생각을 가질수 있다. 그리고 검색 결과 

Everything is an Object

In JavaScript almost everything is an object. Even primitive datatypes (exept null and undefined) can be treated as objects.

  • Booleans can be objects or primitive data treated as objects
  • Numbers can be objects or primitive data treated as objects
  • Strings are also objects or primitive data treated as objects
  • Dates are always objects
  • Maths and Regular Expressions are always objects
  • Arrays are always objects
  • Even functions are always objects
라는 결과를 알수 있었다. 그리고 흥미로운 문서도 발견했다.

다시 돌아와서 이야기를 하자면 모든 객체에는 프로퍼티와 함수를 추가할수 있고 (초기 타입에 따라 다르겠지만..) 기본적으로 제공되어지는 메서드도 있다.

var message="Hello world!";
var x=message.toUpperCase();

var userObject = new Object();
userObject.lastLoginTime = new Date();
alert(userObject.lastLoginTime);

위의 예제처럼 함수를 가져다 쓸수 있고 새롭게 정의해서 만들어서 쓸수도 있다. 이런 점을 활용한다면 단순한 타입이 아닌 객체지향적인 프로그래밍 작성이 가능하다라는 걸 강조하고 싶다.


'Development > Web & Server' 카테고리의 다른 글

[Javascript] closure란...  (0) 2013.10.11
[Javascript] Literal이란..  (0) 2013.10.10
[Javascript] basic syntax - 02  (0) 2013.10.01
[Javascript] basic syntax - 01  (0) 2013.10.01
[Spring framework] 스프링의 특징  (0) 2013.09.18