객체(Object)는 프로그램에서 인식할 수 있는 모든 대상을 가리킴.객체는 데이터를 저장하고 처리하는 기본 단위.객체는 프로그램에서 인식할 수 있는 모든 대상을 가리킴.웹과 관련된 대상을 전부 객체로 인식함."자바스크립트는 모든 것이 객체다"라는 말이 있을 정도로 자바스크립트에서 객체는 중요한 개념임.| 종류 | 설명 |
|---|---|
| 문서 객체 모델(DOM) | - 웹 문서 자체도 객체이고 그 안에 삽입되어 있는 이미지, 링크, 텍스트 필드 등도 전부 객체임. - 일반적으로 웹 문서에 삽입하는 요소는 document, image, link 객체 등이 있음. - 문서 객체 모델(DOM)은 객체를 사용해서 웹 문서를 관리하는 방법임. |
| 브라우저 관련 객체 | - 웹 브라우저에서 사용하는 정보도 객체로 나타낼 수 있음. |
| 내장 객체 | - 웹 프로그래밍을 할 때 자주 사용하는 요소는 자바스크립트 안에 미리 객체로 정의되어 있음. |
인스턴스(instance)의 형태로 만들어서 사용해야함.속성과 기능을 만들 수 있음.객체가 틀이라면 그 틀을 기본으로 해서 계속 같은 모양으로 찍어 내는 것이 인스턴스.↓ 객체의 인스턴스를 만들 때는 new 예약어를 사용함.new 뒤에 만들려고 하는 객체 이름을 작성.new 객체명
프로퍼티(property)와 메서드(method)가 있음.인스턴스는 객체의 프로퍼티와 메서드를 그대로 물려받아서 똑같이 사용함.프로퍼티와 메서드를 표시하려면 인스턴스명 뒤에 온전(.)을 붙이고 프로퍼티나 메서드 이름을 작성하면 됨.괄호'()'를 넣어야함.Ex) Array, Date 객체 등.Array객체는 자바스크립트의 여러 가지 내장 객체 중에서 배열을 다룸.초깃값이 없는 경우
var numbers = new Array(); // 배열의 크기를 지정하지 않음.
var numbers = new Array(4); // 배열의 크기를 지정했음.
초깃값이 있는 경우
var numbers = ["one", "two", "three", "four"]; // 배열 선언.
var numbers = Array("one", "two", "three", "four"); // Array 객체를 사용한 배열 선언.
length프로퍼티를 사용하면 됨.| 종류 | 설명 |
|---|---|
| concat | - 기존 배열에 요소를 추가해서 새로운 배열을 만듦. - 서로 다른 2개의 배열을 합쳐서 새로운 배열을 만듦. |
| every | - 배열의 모든 요소가 주어진 함수에 대해 참이면 true 반환하고 그렇지 않으면 false 반환함. |
| filter | - 배열 요소 중에서 주어진 필터링 함수에 대해 true인 요소만 골라서 새로운 배열을 만듦. |
| forEach | - 배열의 모든 요소에 대해 주어진 함수를 실행함. |
| indexOf | - 주어진 값과 일치하는 값이 있는 배열 요소의 첫 인덱스를 반환함. |
| join | - 배열의 요소를 문자열로 합침. - 구분자를 지정할 수 있음. 따로 지정하지 않으면 쉼포( ,)로 구분함. |
| push | - 배열의 맨 끝에 새로운 요소를 추가한 후 새로운 length를 반환함. - 여러 개의 요소를 추가할 수 있음. |
| unshift | - 배열의 시작 부분(맨 앞)에 새로운 요소를 추가함. - 여러 개의 요소를 추가할 수 있음. |
| pop | - 배열의 마지막 요소를 꺼내 그 값을 결과로 반환함. - 기존 배열은 꺼낸 요소가 빠진 상태로 변경됨. |
| shift | - 배열의 첫 번째 요소의 값을 반환함. - 기존 배열은 꺼낸 요소가 빠진 상태로 변경됨. |
| splice | - 배열에 요소를 추가하거나 삭제함. (원하는 위치에, 여러 개를 추가ㆍ삭제 할 수 있음.) - 실행한 후에는 삭제한 요소를 반환하고 기존 배열은 변경됨. - 인수가 1개 괄호 안의 인수는 배열의 인덱스 값을 가리킴. 즉, 인수가 지정한 인덱스의 요소부터 배열의 맨 끝 요소까지 삭제함. - 인수가 2개 첫 번째 인수는 인덱스값, 두 번째 인수는 삭제할 요소의 개수. - 인수가 3개 첫 번째 인수 : 배열에서 삭제할 시작 위치, 두 번째 인수 : 삭제할 개수, 세 번째 인수부터는 삭제한 위치에 새로 추가할 요소를 지정함. |
| slice | - 배열에서 요소를 꺼냄. (시작과 끝 인덱스를 지정해서 요소를 여러 개 꺼내고, 실행으로 인해 기존 배열이 바뀌지 않음.) - 인수가 1개 해당 인수를 시작 인덱스로 간주하고 지정한 요소부터 마지막 요소까지 꺼내서 반환함. - 인수가 2개 첫 번째 인수 : 배열의 시작 인덱스, 두 번째 인수 : 해당 인수를 인덱스로 간주해서 (해당 인덱스 - 1)의 인덱스를 가리킴. |
| reverse | - 배열의 배치 순서를 역순으로 바꿈. |
| sort | - 배열 요소를 지정한 조건에 따라 정렬함. |
| toString | - 배열에서 지정한 부분을 문자열로 반환함. - 각 요소는 쉼표( ,)로 구분함. |
new Date();
new Date("2025-01-01");
new Date("2025-01-01T12:00:00");
YYYY-MM-DD 형식
new Date("2025")
new Date("2025-01")
new Date("2025-01-01")
YYYY-MM-DDTHH 형식
new Date("2025-01-01T12:00:00")
new Date("2025-01-01T12:00:00Z")
MM/DD/YYYY 형식
new Date("01/01/2025")
이름 형식
new Date("Wed Jan 01 2025 12:00:00 GMT+0900 (대한민국 표준시)")
↓ 만들어진 자바스크립트의 객체는 아래와 같은 계층 구조를 보임.

↓ 자바스크립트의 내장 객체

window 객체는 웹 브라우저의 상태를 제어하며 자바스크립트의 최상위에 있음.자바스크립트의 모든 객체는 window 객체 안에 포함됨.window 객체의 프로퍼티는 주로 웹 브라우저 창의 정보를 가져오거나 값을 바꿀 때 사용함.window.를 붙이면 됨. window 객체의 프로퍼티

window 객체의 메서드는 대화 창을 표시하거나 브라우저 창의 크기나 위치를 알아내고 지정하는 등 웹 브라우저 창 자체와 관련됨.window 객체는 기본 객체이므로 window.를 생략하고 메서드를 사용할 수 있음.
window.open()메서드를 사용함.새 브라우저에서 창 열기
window.open(경로, 창 이름, 창 옵션)
// Ex (너비 500px, 높이 500px)
window.open("tmp.html", "", "width=500, height=500");
// Ex
window.open("tmp.html", "pop", "width=500, height=500");
// Ex (화면의 왼쪽에서 200px, 위에서 100px 떨어진 위치에 팝업 창 표시)
window.open("tmp.html", "pop", "width=500, height=500, left=200, top=100");
팝업을 차단하면 window.open()은 null을 반환함.<script>
function openPopup() {
var newWin = window.open("tmp.html", "pop", "width=500, height=400");
if (newWin == null) {
// 팝업이 차단되어 있다고 메시지 알림창을 보여줄 수 있음.
alert("팝업이 차단되어 있습니다. 팝업 차단을 해제해 주세요.")
}
newWin.moveBy(100,100);
}
</script>
window.close()
// Ex
<button onclick="javascript:window.close();">닫기</button>
렌더링 엔진(rendering engine)이 다르기 때문임.뒤로, 앞으로 또는 주소 표시줄에 입력해서 방문한 사이트 주소가 배열 형태로 저장됨.

새로 고침과 같은 역할을 하는 reload() 메서드와 현재 창에 다른 문서나 사이트를 보여 주는 replace() 메서드가 매우 유용함.