자바스크립트 객체

Dear·2025년 4월 11일

TIL

목록 보기
4/74

💙자바스크립트의 객체

자바스크립트는 객체(Object) 기반 언어로, 기능과 속성을 가지고 있다.
기능 : 메소드(method)
속성 : (property)

💙종류

내장객체

자바스크립트 엔진에 내장되어 있어 필요할 경우 생성해서 사용한다.

String, Date, Array, Math

브라우저 객체 모델(Browser Object Model)

브라우저에 계층 구조로 내장되어 있는 객체이다.

window, screen location, history, navigator

문서객체모델(Document Object Model)

HTML문서구조다. 최상위 객체 html, 하위 객체 head와 body가 있다.

💙내장 객체 생성

참조 변수(인스턴스 이름) = new 생성 함수()

var now = new Date();
var nowMonth = now.getMonth();

var ran = Math.random() * 3;

var memo = new String("Today is Friday!");

var first = memo.charAt(2);
var index = memo.indexOf("is");

💙브라우저 객체

브라우저에 내장된 객체이다. window는 브라우저 객체의 최상위 객체이며, 하위에는 다양한 객체가 포함되어 있다.

document, screen, location, history, navigator

윈도우 객체의 메소드 종류

open(), alert(), confirm()

💙객체 리터럴

자바스크립트에서는 원시타입을 제외한 모든 값이 객체이다.
가장 기본적인 객체 생성 방법은 객체 리터럴이다.

리터럴

데이터(값) 그 자체

var a = 1;

여기서 1이 리터럴이다.
개발자가 숫자 값을 직접 코드에 써서 표기했다.

리터럴 표기법

리터럴 표기법은 변수를 선언함과 동시에 그 값을 지정해주는 표기법을 말한다.
-> 사람이 이해할 수 있는 문자나 약속된 기호를 사용해 값을 생성

문자열이나 숫자뿐 아니라 함수도 리터럴 표기법으로 정의할 수 있다.

// 숫자 리터럴
const x = 10;

// 문자열 리터럴
const name = "Alice";

// 객체 리터럴
const user = { name: "Bob", age: 30 };

// 자바 스크립트에서 객체 생성
var object = { }; // 객체 생성

object.name = "yang ju hee"; // object 객체에 name field 추가
object.job = "Developer"; // object 객체에 jsb field 추가
object.hello = function(){
	alert("안녕하세요.");
};

console.log(object.name); // yang ju hee

object.hello();

💙생성자

생성자를 사용하면 이름이 같은 메소드와 프로퍼티를 가진 객체 어러 개를 효율적으로 생성할 수 있다.
-> new 키워드 사용

function Book(){
  this.title = "The Great Gatsby";
  this.author = "F. Scott Fitzgerald";
  // 메소드도 가질 수 있다.
  this.showMyBook() = function() {
    console.log( this.title);
}
  
var myBook = new Book();
  
console.log(myBook.title);        // "The Great Gatsby"
console.log(myBook.publisher);   // undefined
console.dir(myBook);

myBook.showMyBook();

// 매개변수가 있는 생성자
function Book(title, author){
  this.title = title;
  this.author = author;
}

var myBook = new Book();
console.log("The Great Gatsby"."F. Scott Fitzgerald");  

🤍회고

면접 대비를 위해 개념들을 한 문장으로 정리해 외우려고 하는데, 리터럴 표기법은 한 문장으로 요약하기가 어려웠다. 여러 글을 참고해도 설명이 길어지고 여러 줄이 되어버려, 결국 GPT의 도움을 받아 정리하게 되었다. 직접 정리해보며 단순히 외우는 것보다 개념을 이해하고 표현하는 능력도 중요하다는 걸 느꼈다.

profile
친애하는 개발자

0개의 댓글