
자바스크립트는 객체 기반 프로그래밍 언어이다. 즉, 객체 지향 언어이다.
객체를 구성하는 요소로는 속성(property)과 기능(method)으로 이루어져 있다.
[기본형]
객체.속성명 = 값;
: 특정 객체의 속성의 값을 바꾸고 싶을 때
객체.속성명;
: 특정 객체의 할당되어 있는 속성값을 알고 싶을 때
객체.method();
: 특정 객체의 기능을 실행시킬 때
자바스크립트의 객체는 크게 내장객체, 브라우저 객체모델(BOM, Browser Object Model),
문서객체(DOM, Document Object Model)가 있다.
내장 객체란, 자바스크립트 엔진 안에 내장되어 필요한 경우에 생성하여 사용할 수 있다.(=꺼내 쓸 수 있다.) 내장 객체의 종류로는 날짜객체, 문자, 배열, 수학객체가 있다.
브라우저 객체란, 말 그대로 브라우저를 의미한다. 브라우저에 계층 구조로 내장되어 있다. 브라우저 객체의 종류로는 window, location, screen, history, navigator객체 등이 있다.
문서객체란, html문서 구조를 말한다. html태그느 최상위 객체로 안쪽에 다양한 하위 객체들을 포함한다.
하지만 자바스크립트의 문서객체는 브라우저간의 호환성이 낮다는 단점이 있어, jQuery라는 언어가 개발되었다.
현재는 ES6버전으로 자바스크립트의 호환성을 높인 버전으로 업데이트 되어, 다양한 속성과 기능을 이용해 태그을을 제어할 수 있다.
[기본형]
- var 변수 = new object();
변수.속성1 = 값;
변수.함수(method) = function(){코드};
object = 생성함수라는 뜻으로, 커스텀하여 만들 객체를 선언할때 사용한다.
★ 2. var 변수 = {
속성명1 : 값1;
속성명2 : 값2;
함수명 : function(){}
}
1번 기본형의 축약형으로, new Object()가 곧 {}이다.
{}중괄호 안에 속성과 메서드를 한꺼번에 선언하여 쓸 수 있다.
날짜 객체는 날짜나 시간관련 정보를 제공받고 싶을때 사용한다.
날짜 객체 또한 변수안에 선언할 때 new 키워드를 붙이고 뒤에 Date()를 붙인다.
new Date();라고 쓰면 오늘 날짜의 현재 시간정보가 남는다.
만약 특정날짜 정보를 제공하고 싶은 경우 Date()dml ()소괄호 안에 날짜를 입력한다.
날짜는 문자형으로 입력하거나 숫자형으로 입력할 수 있는데, 숫자로 입력할 경우 월에서 1을 빼주어야 한다.
프로그래밍 언어에서 시작 숫자는 0이므로, 0이 곧 1월이 된다.
또한 문자형으로 쓸 경우 연도와 월,일을 /로 구분하고 숫자형으로 쓸 경우 ,로 구분한다.
[기본형]
- 오늘 날짜의 현재 시간 정보를 알고 싶을때
var 참조변수 = new Date();
- 특정 날짜 정보를 제공하고 싶을때
- var 참조변수 = new Date('연/월/일'); //ex. var date = new Date('2000/5/31');
- ★ var 참조변수 = new Date(연, 월-1, 일); //ex. var date = new Date(2000, 4, 31)
// 자바스크립트는 0부터 시작해 0 = 1월 현재 월에 -1한 값을 적용
날짜 관련 메서드
날짜 관련 메서드는 날짜에서 특정한 연도나, 월, 요일, 시간정보를 따로 가져오거나 바꾸고 싶을때 사용한다.
여기에서 날짜나 시간 정보를 가져오고 싶을때는 'get메서드'를 사용하고 바꾸고 싶을때는 'set메서드'를 사용한다.
[get]
- getfullYear() : 연도 정보를 가져온다.
- getMonth() : 월 정보를 가져온다. (월-1된 값으로 나온다.)
- getDate() : 일 정보를 가져온다.
- getDay() : 요일 정보를 가져온다. 0 ~ 6으로 표현되고, 0은 일요일을 말한다. 6은 토요일이다.
- getHours() : 시 정보를 가져온다.
- getMinutes() : 분 정보를 가져온다.
- getSeconds() : 초 정보를 가져온다.
8 getMilliseconds() : 밀리초 정보를 가져온다. (1/1,000초 단위) ★- getTime() : 1970년 1월 1일부터 경과된 시간을 밀리초 단위로 표시한다.
- toGMTString() : GMT 표준 표기 방식으로 문자형 데이터로 시간을 반환한다.
[set 메서드]
1. setfullYear() : 연도 정보만 수정한다.
2. setMonth() : 월 정보를 수정한다. (월-1된 값으로 수정해야한다.)
3. setDate() : 일 정보를 수정한다.
---- 요일은 일자가 바뀌면 자동으로 바뀌므로 setDay는 없다. ----
4. setHours() : 시 정보를 수정한다.
5. setMinutes() : 분 정보를 수정한다.
6. setSeconds() : 초 정보를 수정한다.
7. setMilliseconds() : 밀리초 정보를 수정한다. (1/1,000초 단위) ★
8. setTime() : 1970년 1월 1일부터 경과된 시간을 밀리초 단위로 수정한다.
9. toLocaleString() : 운영 시스템 표기 방식으로 문자형 데이터로 시간을 반환한다.
자바스크립트 내장 객체에는 수학과 관련된 기능과 속성을 제공하는 수학 객체가 있다.
더하기, 빼기, 곱하기, 나누기와 같은 간단한 연산식이 아닌 어려운 연산식을 쉽게 계산하도록 만들어진 객체이다.
[메서드와 상수 종류]
- Math.abs(숫자) : 숫자의 절댓값을 반환한다.
- Math.max(숫자1, 숫자2, 숫자3...) : 숫자 중 가장 큰 값을 반환한다.
- Math.min(숫자1, 숫자2, 숫자3...) : 숫자 중 가장 작은 값을 반환한다.
- Math.pow(숫자, 제곱값) : 숫자의 거든 제곱값을 반환한다.
- Math.random() : 0 ~ 1 사이의 난수를 반환한다.
- Math.round(숫자) : 소수점 첫째 자리에서 반올림하여 정수를 반환한다.
- Math.ceil(숫자) : 소수점 첫째 자리에서 무조건 올림하여 정수를 반환한다.
- Math.floor(숫자) : 소수점 첫째 자리에서 무조건 내림하여 정수를 반환한다.
- Math.sqrt(숫자) : 숫자의 제곱근값을 반환한다.
- Math.PI : 원주율 상수를 반환한다.