get과 set

✒️ 2025-05-23 15:05 내용 수정


속성 가져오기 - get 접근자

객체의 속성에 접근할 때 호출할 함수를 바인딩하는 구문

{ // 객체나 클래스
	get prop() {
		return property;
	}
}

{ // 객체나 클래스
	get [expression]() {
		// 실행문
	}
}
delete obj.propertyName;

Object.definedProperty()의 get()

let test = {key : value};

Object.defineProperty(test, "val", {
	get() {
		return this.key;
	}
})
console.log(test.b); // value

속성 할당하기 - set 접근자

객체의 속성을 할당할 때 호출할 함수를 바인딩하는 구문

{ // 객체나 클래스
	set prop(val) {
		this.property = val;
	}
}

{ // 객체나 클래스
	set [expression](val) {
		// 실행문
	}
}
delete obj.propertyName;

Object.definedProperty()의 set()

let test = {key : value};

Object.defineProperty(test, "val", {
	set(param) {
		this.key = param;
	}
})
console.log(test.b); // param

클래스에서 get과 set 사용

class ClassName{
    constructor(key1) {
        this.key1 = key1;
    }
    
    get key1() {
	    return this._key1;
    }

    set key1(name) {
	    this._key1 = name;
    }
}

let test = new ClassName(1, 2);
console.log(test.key1); // 1