[JavaScript] 자바스크립트 타입, 변수, 객체, 문자열
본문 바로가기

[JavaScript] 자바스크립트 타입, 변수, 객체, 문자열

액트 2020. 4. 28.
반응형

[Javascript] 자바스크립트 기본 타입, 변수, 객체, 문자열


기본 타입

타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미합니다.

자바스크립트에서는 여러 가지 형태의 타입을 미리 정의하여 제공하고 있으며, 이것을 기본 타입이라고 합니다.

자바스크립트의 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있습니다.

 

원시 타입(primitive type)은 다음과 같습니다.

  1.  숫자(number)
  2.  문자열(string)
  3.  불리언(boolean)
  4.  심볼(symbol) : ECMAScript 6부터 제공됨
  5.  undefined

 

객체 타입(object type)은 다음과 같습니다.

  1.  객체(object)

 

원시 타입(pprimitive type)

숫자(number)

자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현합니다.

또한, 매우 큰 수나 매우 작은 수를 표현할 경우에는 e 표기법을 사용할 수 있습니다.

See the Pen jObwGLr by yunjunshin (@yjshin) on CodePen.

 

문자열(string)

자바스크립트에서 문자열은 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합을 의미합니다.

큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있으며, 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있습니다.

See the Pen YzyQrEB by yunjunshin (@yjshin) on CodePen.

자바스크립트에서는 숫자와 문자열을 더할 수도 있습니다.

이럴 경우에 자바스크립트는 숫자를 문자열로 자동 변환하여, 두 문자열을 연결하는 연산을 수행합니다.

예제)

See the Pen BaoZwYy by yunjunshin (@yjshin) on CodePen.

 

불리언(boolean)

불리언 값은 참(true)과 거짓(false)을 표현합니다.

자바스크립트에서 불리언 값은 예약어인 true와 false를 사용하여 나타낼 수 있습니다.

See the Pen eYpRGVG by yunjunshin (@yjshin) on CodePen.

 

심볼(symbol)

심볼 타입은 ECMAScript 6부터 새롭게 추가된 타입입니다.

심볼은 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있습니다.

See the Pen YzyQreg by yunjunshin (@yjshin) on CodePen.

 

typeof 연산자

typeof 연산자는 피연산자의 타입을 반환하는 피연산자가 단 하나뿐인 연산자입니다.

See the Pen gOaRGeY by yunjunshin (@yjshin) on CodePen.

 

null과 undefined

자바스크립트에서 null이란 object 타입이며, 아직 '값'이 정해지지 않은 것을 의미합니다.

또한, undefined란 null과는 달리 '타입'이 정해지지 않은 것을 의미합니다.

따라서 자바스크립트에서 undefined는 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환됩니다.

See the Pen MWaoEVo by yunjunshin (@yjshin) on CodePen.

null과 undefined는 동등 연산자(==)와 일치 연산자(===)로 비교할 때 그 결괏값이 다르므로 주의해야 합니다.

null과 undefined는 타입을 제외하면 같은 의미지만, 타입이 다르므로 일치하지는 않습니다.

null ==  undefined; // true

null === undefined; // false

 

객체 타입(object type)

객체(object)

자바스크립트의 기본 타입은 객체(object)입니다.

객체(object)란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있습니다.

객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체입니다.

See the Pen QWjgqrK by yunjunshin (@yjshin) on CodePen.


 

반응형

댓글