안녕하세요 19살 IT 개발자 포돌이라고 합니다.
저번 시간에는 Javascript(제어문 2)을 배우면서 제어문을 다 배웠습니다. 제어문은 특히 많이 공부를 해야 합니다. 제어문을 못하시면... 다음 단계로 나갈 때 더욱 어려워집니다. 왜냐하면. 제어문을 많이 쓰거든요. 그래서 꼭 반드시 하루에 한 번이라도 좋으니 계속 복습하셔야 합니다. 자 그러면 Javascript 기초(객체)를 배워보도록 하겠습니다.
객체
자바스크립트는 객체(object) 기반 언어입니다. 객체는 기능과 속성을 가지고 있습니다. 가령 TV에는 켜다, 끄다, 볼륨을 낮추다, 볼륨을 높이다 등의 기능이 있습니다. 이렇든 TV라는 객체에는 다양한 기능이 있습니다. 이러한 주변의 모든 사물들을 객체라고 합니다.
기본형
다음은 메소드를 잘못 사용한 경우를 알려드리겠습니다 "앞으로 가"라는 메소드는 사람, 또는 동물, 등 움직이는 물체에 있을 법한 기능이겠죠?
TV 앞으로 가(); (X)
너(사람) 앞으로 가(); (O)
또한 자바스크립트에서 TV의 너비와 색상, 속성 정보를 알고 싶다면 다음과 같이 적용할 수 있습니다.
TV.width; (TV의 너비) 또는 TV.color; (tv의 색상) // TV의 속성 값을 가져옵니다.
TV.color = black; // TV의 속성값을 바꿉니다.
객체의 종류
자바스크립트의 객체는 크게 내장 객체, 브라우저 객체모델 (BOM), 문서 객체 모델(DOM)로 나눌 수 있습니다.
내장 객체
내장 객체는 자바스크립트 엔진에 내장되어 있어 필요한 경우에 생성해서 사용할 수 있습니다.
내장 객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math) 객체 등이 있습니다. 가령 오늘 날짜를 알고 싶다면 Date 객체를 생성하여 오늘 날짜를 알려주는 메소드 getDate()를 사용하면 됩니다.
브라우저 객체 모델(BOM)
브라우저 객체 모델(BOM)은 브라우저에 계층 구조로 내장되어 있는 객체를 말합니다. 브라우저 객체로는 window, screen, location, history, navigator 객체 등이 있으며, 다음에 브라우저에 포함된 객체를 나타내었습니다. 브라우저(window)는 document와 location 객체의 상위 객체입니다.
브라우저 객체 모델은 Javascript 기초(객체2)에서 좀 더 자세하게 알아보겠습니다.
문서 객체 모델(DOM)
문서 객체 모델(DOM)은 HTML 문서 구조를 말합니다. HTML 문서의 기본 구조는 최상위 객체로 <html>이 있으며, 그 하위 객체로는 <head>와 <body>가 있습니다. 예를 들어 자바스크립트를 이용해 이미지의 src 속성을 바꾸고 싶다면 지정된 <img>를 선택해 src 속성을 바꿔야 합니다. 이때 지정 요소를 제대로 선택해서 가져오려면 문서 객체의 구조를 잘 이해하고 있어야 합니다. 이렇게 문서 객체 모델에서는 HTML의 모든 요소들을 문서 객체로 선택하여 자유롭게 속성을 바꿀 수 있고, 선택한 문서 객체에 원하는 스타일(CSS)을 적용할 수도 있습니다.
그런데 자바스크립트의 문서 객체 모델은 IE 8 이하 버전에서는 호환성이 떨어져서 사용하기 힘든 단점이 있습니다 이점 유의해주시기 바랍니다.
이제 기본 설명은 다 끝났기 때문에 내장 객체부터 자세히 알아보도록 하겠습니다. 위에 객체의 종류 설명서는 너무 자세하게 안 읽으셔도 좋으니, 그냥 흠.. 그렇군.. 오케이! 하면서 넘어가시면 됩니다. 자 내장 객체 들어가겠습니다!
내장 객체
앞에서 언급했듯이 내장 객체(Bulit - in Object)란 브라우저의 자바스크립트 엔진에 내장한 객체를 말합니다
내장 객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math) 객체 등이 있습니다. 이건 무조건 외우세요.
내장 객체 생성하기
내장 객체를 생성하는 기본형을 알려드리기에 앞서서, 객체를 생성할 때는 new라는 키워드와 생성 함수를 사용합니다.
기본형
기본형을 봣으니 예제를 풀어야겠죠? 그런데 이 에제는 이해하기 힘들 수 있습니다. 함수를 배우기 전이기 때문이죠. 하지만 객체는 어떻게 생성하는 것인지, 속성과 메서드의 생성 과정은 어떻게 되는지 가볍게 이해하고 넘어가시면 되겠습니다.
코딩해보기
이해하기가 많이 어려울 겁니다 하지만. 이 예제를 통해서 function()이라는 새로운 함수를 보게 되었고 앞으로 이 함수는 계속해서 나올겁니다.
날짜 정보 객체
날짜나 시간 관련 정보를 제공받고 싶을 때는 날짜 객체(Date Object)를 생성합니다. 날짜 정보 객체는 날짜와 관련된 작을 할 때 유용한 객체입니다. 회사에서 2015년 8월 9일이 무슨 요일이고 무슨 업무를 했는지 알아야 할 때 사용할 수 있습니다. 또한 날짜 정보 객체를 이용하면 달력과 특정 기념일 D - day 계산기도 만들 수 있습니다. 여기에서는 현재 날짜 정보를 제공하는 방법, 특정 날짜 정보를 제공하는 방법을 알려드리겠습니다.
기본형
Date 객체 생성 방법에 이어 생성된 객체의 다양한 메소드를 알아보겠습니다. 날짜 정보 객체는 날짜의 정보를 가져오는 메소드와 날짜를 수정하는 메소드로 나눌 수 있습니다.
한번 정리를 해볼까요?
날짜 관련 메소드
날짜 정보를 가져올 때(GET) | 날짜 정보를 가져올 때(SET)