객체

김태형·2022년 4월 28일
0

Javascript

목록 보기
12/12

객체란?

자바스크립트에서 원시데이터를 제외한 모든것은 객체이다. 객체는 프로퍼티와 메소드로 구성되며, 원시데이터와는 다르게 변경이가능한 복합적인 자료구조이다.

객체 생성 방법

	let person = {
    	name : "kim",
      	age : 30,
      	sayHello: function(){
        	console.log('안녕');
        }
    }

프로퍼티

객체는 프로퍼티의 집합이며 프로퍼티는 키와 값으로 구성된다. 프로퍼티는 쉼표로 구분하며 마지막에는 사용해도 상관없으나 관례적으로 사용을 하지않는다.

프로퍼티를 중복선언하면 나중에 선언한프로퍼티가 먼저 선언한 프로퍼티를 덮어쓴다.

메서드

자바스크립트의 함수는 일급객체로서 평가되어 값으로 취급할 수 있기때문에 프로퍼티 값으로 사용할 수 있다. 객체 내부 함수는 메서드라고 부른다.

프로퍼티 접근

프로퍼티에 접근하는 방법으로는 객체.프로퍼티 , 객체['프로퍼티'] 두 가지 방법이 있으나 관례적으로 전자를 사용한다.

	let person = {
      name : "kim",
    }
    console.log(person.name);
	console.log(person['name']);

프로퍼티 재할당

	let person = {
      name : "kim",
    }
	person.name = 'lee';

프로퍼티 동적 생성

	let person = {
      name : "kim",
    }
    person.age = 28;

위와같이 객체에 존재하지 않는 프로퍼티를 동적으로 생성할 수 있다.

프로퍼티 삭제

	let person = {
      name : "kim",
    }
    
    delete person.name;

delete 연산자로 삭제가 가능하다.

프로퍼티 동적 생성 계산된 프로퍼티

	let person = {}
    let prefix = 'props';
	let i = 0;
    
	//ES5
	person[prefix + '-' + ++i] = i;
    person[prefix + '-' + ++i] = i;
    person[prefix + '-' + ++i] = i;

	//ES6
	//객체 리터럴 내부에서도 사용가능
	const obj = {
      ['${prefix}-${++i}']:i,
      ['${prefix}-${++i}']:i,
      ['${prefix}-${++i}']:i
    }
    
    //이렇게하면 더 쉬운데..
    for(let i=1; i<=3; i++){
    	person['props-' + i] = i;
    }

메서드 축약표현

	//ES5
	var person = {
      method : function(){}
    }
    
    //ES6
    let person ={
      method(){}
    }

ㅅㄷㄴㅅ

profile
생각정리 공간

0개의 댓글

관련 채용 정보