객체

Hoo·2023년 3월 21일
0

객체란 ?

자바스크립트는 객체 기반 프로그래밍 언어이다. 자바스크립트를 구성하는 거의 모든것이 객체이다.

  • 원시타입(primitives)을 제외한 나머지 값(함수, 배열, 정규표현식 등)은 모두 객체이다.
  • 자바스크립트의 객체는 키(key)와 값(value) 로 구성된 프로퍼티(property)의 집합이다.

객체 생성법

1번 사용법 : new 라는 키워드가 붙으면 객체를 생성한다.

let person = new object(); //생성자 방식

2번 사용법 : {}를 사용하여 객체를 생성가능

  • 모든 자료형을 프로퍼티 value값으로 지정할수 있다.
let person = {
  key : "value", //프로퍼티 (객체 프로퍼티)
  key1 : "value2"
}; //객체 리터널 방식

객체의 프로퍼티(property)를 사용하는법

  • .을 이용하여 접근하는걸 점표기법이라고 한다.
let person = {
  key : "value",
  key1 : "value2"
}; //객체 리터널 방식

console.log(person.key1); // 결과값 value

함수를 사용하여 객체 프로퍼티 사용법

  • []를 사용하는걸 괄호표기법이라고한다.
  • 동적인 파라미터를 전달받는상황 또는 현재 키를 꺼내야하는데 키가 고정되어있지않는상황에서 사용
let person = {
  key : "value", 
  key1 : "value2"
}; //객체 리터널 방식

console.log(person.key1); 
// 동적인 파라미터를 전달받는상황
function getPropertyValue (key) {
  return person[key];
}

console.log(getPropertyValue("key"))

//결과값 : value

객체 추가,수정,삭제

  • property를 추가할때 (.)점표기법을 사용하여 값을 대입하는거처럼 추가할 수 있다.

프로퍼티 추가

let person = {
  age : 11,
  name : "비밀"
};

person.location = "한국"; //점표기법
person["gender"] = "남성" // 괄호표기법

console.log(person); // location 추가

프로퍼티 수정

let person = {
  age : 11,
  name : "비밀"
};

person.name = "비밀 A"; //점표기법
person["gender"] = "남성" // 괄호표기법

console.log(person.name); // 결과값 : 비밀 A

프로퍼티 삭제

  • delete 를 사용하면 메모리의 연결을 지우지 않는다.
  • null 값을 대입해주면 메모리에 연결을 끊는다.
delete person.age; //age삭제됨
person.name = null;

함수 프로퍼티 호출방법

  • this는 자기 자신 객체를 가르킨다.
let person = {
  age: 11,
  name: "비밀",
  say : function () {
    console.log("하이")
  } //객체 안에 들어있는 함수를 메서드라고 부른다.
};

person.say(); // 프로퍼티 안에 들어있는 함수 호출방법

// 결과값 : 하이
let person = {
  age: 11,
  name: "비밀",
  say : function () {
    console.log(`안녕 나는 ${this.name}`)
  } 
};

person.say(); // 프로퍼티 안에 들어있는 함수 호출방법
//결과값 : 안녕 나는 비밀

객체에 키가 존재하는지 안하는지 확인하는방법

let person = { 
  age : 11,
  name : "조윤후",
  location : "korea"
};

console.log(`name : ${"name" in person}`);
//결과값 : true
profile
기록하는중입니다.

0개의 댓글