살구잼의 여정
article thumbnail

내장 객체 (built-in object) :

  • 사용자가 손쉽게 가져와서 사용할 수 있도록 미리 만들어진 객체
  • 자바스크립트 언어 자체에 내장되어 있는 객체로, 특정 기능을 제공하기 위해 사용
  • Number, Boolean, String, Math, Date, Array, Object 등이 있음.

window객체

  • 웹 브라우저의 내장 객체 중 웹 브라우저 창과 관련된 객체임.
  • 모든 객체의 최상위 객체
  • 웹 브라우저의 창을 나타내는 전역 객체. 이 객체에는 브라우저 창의 크기, 스크롤 위치, URL, 문서 객체 등의 속성과 메서드가 포함되어 있음.
  • 웹 브라우저에서만 사용 가능하며, 웹 페이지에서 자바스크립트를 사용할 때 기본적으로 제공되는 객체

(최상위객체 : 모든 객체를 포함하고 있는 가장 기본이 되는 객체. 가지고 있는 프로퍼티와 메서드가 매우 많음.)

 

screen 객체

  • 사용자의 스크린(모니터)에 대한 정보를 제공하는 객체
  • 사용자 스크린의 너비, 높이, 색상 깊이 등과 같은 속성과 메서드가 포함되어 있다.
  • screen.width, screen.height 등이 있다.

Date 객체

  • 날짜와 시간 정보를 다루기 위한 객체
  • 현재 날짜와 시간을 가져오는 기능뿐 아니라, 날짜와 시간을 조작하거나 계산하는 메서드를 제공한다. 예) 디데이 기능
  • getDate(), getDay(), getHours(), getMinutes(), setDate(), setHours(), setMinutes(), setSeconds() 등이 있다.

Math객체

  • 수학적인 상수와 함수를 다루기 위한 내장 객체
  • Date나 Array객체처럼 new라는 예약어로 객체의 인스턴스를 만들지 않는다.
  • Math.PI, Math.abs(), Math.ceil(), Math.floor(), Math.max(), Math.min(), Math.round(), Math.sqrt(), Math.pow(), Math.random() 등이 있다.

 

객체는 여러 프로퍼티로 구성됨.

프로퍼티는 ‘키 : 값’ 형태를 가짐

프로퍼티의 값이 함수일 경우 ‘메서드’라고 함.

메서드 없이 자료만 있는 객체를 ‘데이터 객체’라고도 함.

 

this

  • 함수가 호출될 때 자신을 호출한 객체를 가리키는 키워드
  • this 키워드를 사용하여 객체 내부에서 메서드를 호출할 때, 해당 메서드가 속한 객체(내부의 속성이나 메서드를)를 참조할 수 있다.
  • 예 ) book이라는 객체 안에 title, pages, author, done, finish라는 프로퍼티가 있다. 이중 finish()는 책을 다 읽었는지의 여부를 표시하는 메서드이다. finish 메서드 안에서 book의 프로퍼티를 사용한다면, done 값을 조회할 때 book이라는 객체이름 대신 this라는 예약어를 사용할 수 있다.

 

 

 

생성자 함수와 클래스

: 똑같은 프로퍼티와 메서드를 지닌 객체를 반복해서 만든다면 메모리 공간이 낭비될 것이다. 이 경우 미리 객체마다 반복되는 프로퍼티와 메서드를 미리 정의해놓고 그 틀을 사용하여 객체를 만든다.

생성자 함수

  • function 키워드를 사용하여 정의되며, 객체를 생성하기 위해 new 키워드를 사용한다.→ 인스턴스 또는 인스턴스 객체 생성. 생성자 함수는 함수 내부에 this키워드를 사용하여 새로 생성된 객체의 속성을 설정할 수 있다.

클래스

  • class 키워드를 사용하여 정의되며, 객체를 생성하기 위해 new 키워드를 사용한다. 클래스 내부에서 constructor 메서드를 사용하여 객체의 속성을 설정할 수 있습니다.
  • 생성자 함수와 달리 상속을 지원한다. extends 키워드를 사용하여 클래스를 상속하고, super 키워드를 사용하여 부모 클래스의 생성자를 호출할 수 있다.

상속

  • 부모 객체의 프로퍼티나 메서드를 가져와서 사용할 수 있는 것을 의미.
  • JavaScript에서는 프로토타입 체인(prototype chain) 매커니즘을 통해 상속을 구현한다.

프로토타입

  • 객체를 만들어 내는 원형. 상위 객체. 부모 객체 라고도 할 수 있다.
  • 모든 객체는 프로토타입을 가지고 있고, 프로토타입으로부터 프로퍼티와 메서드를 상속 받는다.

 

 

Q. 다음코드의 실행 결과는?

//생성자 함수 정의
function Person(name, age) {
  this.name = name;
  this.age = age;
}

//프로토타입 메서드 정의
Person.prototype.introduce = function() {
  console.log(`Hi, my name is ${this.name} and I'm ${this.age} years old.`);
};

//객체 생성
const person1 = new Person("Alice", 25);

//프로토타입 메서드 호출
person1.introduce(); //다음 코드의 실행 결과는?
더보기

Hi, my name is Alice and I'm 25 years old.

'🖤 Book Study > Do it! 모던 자바스크립트 프로그래밍의 정석' 카테고리의 다른 글

6주차 (12,13,17,18장)  (0) 2023.05.09
4주차 (10~11장)  (0) 2023.05.09
2주차 (5~7장)  (2) 2023.04.11
1주차 (1~4장)  (2) 2023.04.05
profile

살구잼의 여정

@드림살구잼

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!