현대 프로그래밍 언어는 모두 객체 지향이라는 패러다임을 기반으로 한다. 이번 시간에는 객체와 관련된 기본적인 문법들을 학습한다.
자바스크립트의 자료형
자바스크립트에서 사용하는 자료는 크게 2가지로 구분된다.
- 기본 자료형(Primitives) : 숫자(Number), 문자열(String), 불(Bool)
- 객체 자료형(Object) : 함수(Function), 배열(Array) 등등
객체 자료형
속성과 메소드를 가질 수 있는 모든 것은 객체이다.
예를 들면 배열도 객체이다. 위와 같이 a라는 이름의 배열을 선언하고 배열에 속성을 지정한 후 확인해보면 배열이 속성을 가진다는 것을 알 수 있다.
함수도 객체다. 위와 같이 함수 c를 선언하고 함수에 속성을 지정한 후 확인해보면 함수가 속성을 가질 수 있다는 것을 알 수 있다.
typeof 연산자를 사용해서 자료형을 확인해보면 a는 object, c는 function 이라고 출력된다. 배열인지 확인하려면 Array.isArray() 메소드를 사용하면 된다.
함수는 실행이 가능한 객체라는 특이한 자료로 typeof 연산자를 사용해서 자료형을 확인하면 function 이라고 출력된다. 함수는 객체의 특성을 완벽하게 가지고 있으므로 자바스크립트에서는 함수를 일급 객체(first-class object) 에 속한다고 한다.
기본 자료형
자바스크립트에서는 실체가 있는 것(undefined, null 등이 아닌 것) 중에 객체가 아닌 것을 기본 자료형이라고 한다. 숫자, 문자열, 불이 바로 기본 자료형이다.
기본 자료형은 객체가 아니므로 속성을 가질 수 없다.
숫자에 속성을 추가해보자. b.sample = 10은 속성을 추가하는 것처럼 보이지만, b.sample이 undifined 로 출력된다. 즉, 속성이 추가되지 않았다는 것이다.
문자열, 불 자료형도 기본 자료형이므로 똑같이 속성을 가질 수 없다.
기본 자료형을 객체로 선언
자바스크립트는 기본 자료형을 객체로 선언하는 방법을 제공한다.
const 객체 = new 객체 자료형 이름()
new Number(10)
new String('하이용')
new Boolean(true)
단순한 기본 자료형이 아니므로 이전과 다르게 속성을 가진다. new Number()를 사용해서 숫자를 생성하면 숫자와 관련된 연산자도 모두 활용할 수 있으며, 속성과 메소드도 활용할 수 있다.
단, new 키워드를 사용하지 않으면 함수가 자료형 변환 기능으로 작동하므로 주의해야 한다.
'Study > HTML,CSS, JS' 카테고리의 다른 글
JavaScript - 객체의 속성과 메소드 (2) (1) | 2025.01.30 |
---|---|
HTML 폼(Form) 삽입하기 (1) | 2025.01.26 |
코딩애플 포트폴리오 실습 1 (0) | 2025.01.26 |
HTML 목록 만들기 (0) | 2025.01.25 |
HTML의 정의와 구조 (0) | 2025.01.25 |