JavaScript 객체

석준수·2022년 6월 9일
0

JavaScript

목록 보기
6/9

객체

객체를 생성 할 때 중괄호를 사용하여 만드는 방식을 객체리터럴 방식이라고 합니다.
Object() 생성자 함수 사용 : 자바스크립트는 객체를 생성할 때, 내장 Object() 생성자 함수를 제공한다.

let a = new object(); // object 생성자 함수
let a = {}; // 객체리터럴

객체 리터럴 방식

let a = {
  key:"value", // 키: 값 , 프로퍼티
  key2:"value2"
}
console.log(a.key); // value

객체 리터럴 방식 중괄호 안에는 키와 값 ( 키 : 값) 형태로 만들어야 합니다
추가로 생성하고 싶을 때는 콜론을 이용하여 추가 생성 가능 합니다
키 : 값 의 형태로 저장된 데이터, 즉 객체가 가지고 있는 값을 프로퍼티(property) 라고 합니다

점 표기법을 사용하여 프로퍼티 값을 가져올 수 있습니다.

객체 프로퍼티 접근

let a = {
  name : "석준수",
  age: 25
};

console.log(property("name"));

function property (key) {
  return a[key];
};

호이스팅에 의해 property 함수는 코드 상단에 위치하게 되어 실행이 가능하고
property 함수에 name이라는 문자열을 key매개변수에 전달을 하게 되어 a 객체에 name 프로퍼티 에 접근을 할 수 있고 값도 가져올 수 있게 됩니다

위 코드는 사실상 console.log(a["name])과 같은 코드를 의미합니다.

객체 외부에서 프로퍼티 값 추가 및 수정

let a = {
  name: "석준수",
  age:25
};
// 점 , 괄호 표기법 모두 가능 
a.location = "서울";
a["map"] = "서울 강북구 수유로";
a.name = "한국성서대학교";
console.log(a["location"],a.map,a.name); // 서울  서울 강북구 수유로 한국성서대학교

위의 코드처럼 외부에서 대입연산자와 점 표기법을 이용해 프로퍼티 값을 추가하여 사용가능
객체 외부에서도 객체 내부에 값을 수정가능

객체 프로퍼티 값 삭제

let a = {
	name:"석준수",
    age: 25
};
delete a.name;
a.age =null;
console.log(a); //age:25

delete 키워드를 사용하여 프로퍼티 값을 삭제 가능
하지만 delete 키워드 사용하여 지우면 프로퍼티 값만 지울뿐 실제 메모리 값은 그대로 존재함
그래서 대입연산자를 이용해 null값을 대입하여 삭제함

메서드( feat. this)

let a = {
	name:"석준수",
    age: 25,
    bible: function () {
    console.log("hi");
    }
};
  a.bible();

이렇게 객체안에 프로퍼티로 함수를 담는 것을 메서드 라고 합니다

let a = {
  name: "석준수",
  age: 25,
  bible: function () {
    console.log(`안녕 나는 ${this.name}`); // a.name 의미 
  }
};
a.bible(); // 안녕 나는 석준수

메서드를 사용하게 되면 this 라는 키워드를 통해 객체 안에 멤버를 편하게 사용가능
여기서 this는 자기 자신의 객체를 의미 this = a

profile
석준수 입니다.

0개의 댓글