728x90
반응형
/**
* Getter and Setter
*/
class IdolModel{
name;
year;
constructor(name, year){
this.name = name;
this.year = year;
}
/**
* 1) 데이터를 가공해서 새로운 데이터를 반환할때
* 2) private한 값을 반환할때
*/
get nameAndYear(){
return `${this.name}-${this.year}`;
}
set setName(name){
this.name = name;
}
}
const yuJin = new IdolModel('안유진', 2003);
console.log(yuJin); // IdolModel {name: '안유진', year: 2003}
console.log(yuJin.nameAndYear); // 안유진-2003
yuJin.setName = '장원영';
console.log(yuJin); // IdolModel {name: '장원영', year: 2003}
class IdolModel2{
#name;
year;
constructor(name, year){
this.#name = name;
this.year = year;
}
get name(){
return this.#name;
}
set name(name){
this.#name = name;
}
}
const yuJin2 = new IdolModel2('안유진', 2003);
console.log(yuJin2); // IdolModel2 {year: 2003, #name: '안유진'}
console.log(yuJin2.name); // 안유진
yuJin2.name = '코드팩토리';
console.log(yuJin2.name); // 코드팩토리
728x90
반응형
'코드팩토리 JS' 카테고리의 다른 글
| 16. inheritance (0) | 2025.12.26 |
|---|---|
| 15. static keyword (0) | 2025.12.26 |
| 13. class (0) | 2025.12.26 |
| 12. try catch (0) | 2025.12.26 |
| 11. copy by value and reference (0) | 2025.12.22 |