객체는 기능(함수=매서드)과 속성(프로퍼티)으로 이루어져있다.
즉 함수와 변수를 섞어놓은 것을 말한다.
예를들어 앞서 배웠던 html태그들도 하나의 객체라고 볼 수 있다.
a태그에 기능은 링크를 연결하는 것이고, 속성은 태그 안에 쓰이는 href,title,target뿐만
아니라 inline속성같은 것들을 말함.
객체는 객체마다 사용할 수 있는 기능과 속성이 정해져있다.
예를 들어 a태그의 가진 inline 인라인 속성에 넓이를 지정할 수 없는 것처럼
해당 객체마다 올바른 기능과 속성을 적용해줘야한다.
자바스크립트에서 객체에 속성이나 매서드를 사용하고자 할때에는 아래
문법을 사용한다.
[기본형]
1. 객체이름.메서드():
:객체의 함수(매서드)를 실행함.
2. 객체이름.속성이름;
:객체가 가지고 있는 속성의 속성값을 반환한다.
3. 객체이름.속성이름=속성값;
:객체의 속성값을 바꾼다.
자바스크립트의 객체는 크게 내장 객체(built-in object),
브라우저 객체 모델(Browser Object Model)
문서 객체 모델(Document Object Model)로 나눠진다.
내장 객체의 경우 자바스크립트 엔진에 내장되어있어 필요한 경우 생성해서
사용할 수 있다.
내장 객체로는 문자객체(String), 날짜(Date), 배열(Array), 수학(Math)객체가 있다.
브라우저 객체 모델은 계층구조로 내장되어 있는 객체를 말한다.
브라우저 객체로는 window, screen, history, navigator객체 등이 있다.
문서객체모델은 HTML문서 구조를 말한다. HTML 문서의 기본구조는 HTML태그가
최상위 객체이며, 하위 객체로는 head, body가 있다.
하지만 자바스크립트의 문서객체 모델은 IE 8버전 이하에서는
문서 호환성이 떨어지기 때문에 사용하기 힘들다는 단점이 있다.
이러한 점을 극복하기 위해 나온 언어가 '제이쿼리'이다.
객체를 생성할때에는 new라는 키워드와 함께 생성 함수를 사용한다.
[기본형]
var 참조변수(인스턴스) = new Object();
: 인스턴스 이름의 새로운 객첼르 생성한다.


함수가 호출이 되면서 실행이된 것이다.
날짜나 시간 관련 정보를 제공받고 싶을때 날짜객체(Date)를 생성한다.
날짜 정보 객체는 날짜와 관련된 작업을 할 때 유용한 객체이다.
날짜 정보 객체를 이용하면 블로그 게시글의 날짜, 시간또는 댓글이 언제
달렸고, 몇 분 전에 생성되었는지 나타내거나 D-day계산기 같은 것들을 만들 수 있다.
1. var 참조변수 = new Date();
=>오늘 날짜에 대한 정보를 얻을때
2. var 참조변수 = new Date("연도/월/일")=>문자열일 때
var 참조변수 = new Date("연도,월-1,일")=>숫자일 때(~날짜에서 ~을 뺄때는 숫자를 씀)
=> 특정 날짜에 대한 정보를 얻을 때
(만약 날짜 계산을 해야한다면 숫자형식의 객체 문법을 사용하고, 숫자는 0월부터
시작하여 11월까지 있다. )
날짜의 정보를 가져오는 get매서드와 날짜 정보를 수정하는 set메서드로
나눠진다.
[GET]
1. getFullYear() :연도정보를 가져온다.
2. getMonth() :월 정보를 가져온다.
3. getDate() :일 정보를 가져온다.
4. getDay() :요일 정보를 가져온다. (일요일:0 ~ 토요일:6)
5. getHours():시 정보를 가져옴.
6. getMinutes(): 분 정보를 가져옴.
7. getSeconds():초 정보를 가져옴.
8. getMilliSeconds(): 밀리초 정보를 가져옴. (1/1000초)
9. getTime(): 1971년 1월 1일부터 경과된 시간을 밀리초로 표현함.
10. toGMTString():GMT표준 표기 방식으로 문자형 데이터로 시간을 반환함.
[SET]
1. setFullYear() : 연도정보를 수정함.
2. setMonth() : 월 정보를 수정함.
3. setDate() : 일 정보를 수정함.
4. 요일은 일 정보가 바뀌면 같이 수정되므로 set메서드는 없음.
5. setHours(): 시 정보를 수정함.
6. setMinutes(): 분 정보를 수정함.
7. setSeconds(): 초 정보를 수정함.
8. setMilliSeconds(): 밀리초 정보를 수정함. (1/1000초)
9. setTime(): 1971년 1월 1일부터 경과된 시간을 밀리초로 수정함.
10. toLocaleString(): 운영시스템 표기방식으로 문자형 데이터로 반환함.
보통 리액트는 이게 바로 새로고침이 되는데 다른 개념을 알아야해서
혹시 시간 바꾸고 싶으면 새로고침하면 됨.
()
월은 -1돼서 나오기 때문에 얘 먼저 계산하라고 지정해줘야한다.
그래서 가로 안에 +1을 넣어 먼저 계산해주라고 한거임
총합)


혹시 스위치문으로 만들고 싶으면

이렇게 만든다.
하지만 날짜별로 해주려면 변수를 여러번 바꿔줘야해서 불편함
(0~6까지 순차적으로 바뀜 여기서nowday가 case0과 같다면 Day에 1을 넣어라 . )
또 다른 예시)2024 - 07 - 15로 나타내기


하면 화면에 2024-07-15로 나타내진다.
또 다른 예시)2002년 월드컵은 무슨 요일?


또다른 예시) 오늘날짜부터 말일까지 며칠 남았나?
d-day계산공식 : 남은 일 수(밀리초) = 특정날짜 - 현재 날짜 객체
1초 1000(msc)
1분(60초) = 1,000 60
1시간(60분) = 1,000 60 60
1일(1시간 24시간)= 1,000 60 60 * 24



달은 0이부터니까 -1을 해서 기준이 10에서 9가 됨

가 됨