내장 객체
: 미리 정의되어 있는 객체
→ 문서 객체 모델(DOM) : 문서 뿐만 아니라 웹 문서 안에 포함된 이미지, 링크, 텍스트, 필드 등 모두 객체로 관리된다.
→ 브라우저 객체 모델(BOM) : 웹 브라우저에 정보를 객체로 관리
DOM은 HTML, XML 등의 웹 문서의 내용과 구조를 객체로 관리하는 반면에 BOM은 웹 브라우저의 창, 화면, URL 등과 같은 브라우저 정보를 객체로 관리한다. DOM과 BOM은 역할이 다르며 둘 다 사용해야 한다.
사용자 정의 객체 (스스로 생성)
<script>
// 사용자 정의 객체
// 관례상 객체를 대문자로 표기함.
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
const personKim = new Person("킴", 30, "male");
console.log(personKim);
console.log(personKim.name);
</script>
<script>
// 일반 함수의 형태
function calc(n1, n2) {
return n1 + n2;
}
let result = calc(200, 200);
console.log(result);
</script>
<script>
// 모던 자바 스크립트 객체 프로토 타입
class Student {
constructor(name) {
this.name = name;
}
sayHo() {
alert(this.name);
}
}
let person = new Student("John");
person.sayHo();
</script>
객체 리터럴 타입 예제
<script>
// let
// let과 const는 변수를 선언하는 방법 중 하나로
// let을 사용하면, 변수 person을 선언하여 다시 재활용 할 수 있다.
// person에 새로운 객체 리터럴을 넣을 수 있다.
let book = {
title : "플러터 UI 실전",
author : "김쌤",
pages : 200,
price : 18000,
info : function() {
// 백틱 `과 ${}으로 사용 가능
alert(this.title + "은 " + this.pages + "쪽입니다.");
}
};
console.log(book);
console.log(book.title);
book.info();
// const
// const book2 = {새로운 객체 리터럴을 담을 수 없다.} 재정의 안됨.
const book2 = {
title : "플러터 UI 실전",
author : "김쌤",
pages : 200,
price : 18000,
info : function() {
alert(`${this.title}의 작가는 ${this.author}입니다.`);
}
// hi : "hi";
};
console.log(book2);
console.log(book2.hi); // undefined -> const라 새로운 객체 리터럴을 담을 수 없다.
console.log(book2.hi);
</script>
'프로그래밍 > JavaScript' 카테고리의 다른 글
JavaScript_이벤트 등록 처리 (0) | 2023.05.07 |
---|---|
JavaScript_문서 객체 모델 DOM과 DOM 접근 기술 (0) | 2023.05.07 |
JavaScript_이벤트 (0) | 2023.05.07 |
JavaScript_함수 (0) | 2023.05.07 |
JavaScript_자료형 (0) | 2023.05.07 |