JS - Object

JUGNMIN LEE·2020년 12월 28일
0

javascript

목록 보기
5/13
post-thumbnail

Object

오브젝트는 키와 벨류의 집합체이다
오브젝트를 만드는법에는 클래스를 작성해 오브젝트를 생성하거나 중괄호로 만드는 법 혹은 함수를 통해 직접 생성해주는 방법 등이 있다

아래의 코드를 확인하자

const obj1 = {}; // 중괄호로 객체만들기
const obj2 = new Object(); // 클래스를 불러와 객체만들기
- - - - - - - - - - - - - - - - - - -
function print(person){
    console.log(person.name);
    console.log(person.age);
}

const min = {name: '이정민', age: 28};
print(min);

자바스크립트는 동적인 언어이다 즉 object를 선언한 뒤에 자신의 필요에 따라 추가 또는 삭제가 가능하다
하지만 object 생성한 뒤에 추가 삭제 해주는 것은 나중에 복잡한 코드를 작성할때에 유지보수등의 문제가 생길 수 있기에 왠만하면 하지 않는 것이 좋다.

function print(person){
    console.log(person.name);
    console.log(person.age);
}

const min = {name: '이정민', age: 28};
min.hobby = 'coding'; //객체 생성한 이후에 새로운 키값과 밸류값 추가
print(min);
console.log(min.hobby); //나중에 추가된 키와 밸류값 확인 가능
delete min.hobby;
console.log(min.hobby); //undefined 확인

constructor function

객체를 만들다 보면 키값과 밸류값이 비슷한 수많은 객체를 만들어야 하는 순간이 있다.
그럴때마다 일일이 만들어 주는 것은 실용성을 높이지 못하는 것이 된다😶
그럴때에는 클래스를 통하거나 ES6전에는 클래스가 없으므로 함수를 통해 클래스와 같이
constructor 를 받아 생성 해주는 방법이 있다 아래를 살펴보자

const person1 = {name : 'bob', age: 2};
const person2 = {name : 'steve', age: 3};
const person3 = {name : 'dave', age: 4};
const person4 = new Person('min', 28);
console.log(person4); //정상 호출
function Person(name, age){ //클래스 만드는 법과 비슷😏
    this.name=name;
    this.age=age;
}

이러한 함수를 Constructor function 이라고 한다.
또한 객체를 생성해주는 함수의 명을 지을때는 클래스명을 짓는 것과 같이 대문자를 시작으로
명명 해주어야 한다.

profile
Frontend Developer

0개의 댓글