// basic
function test(){
console.log("test 호출됨");
return 1;
}
console.log(test()); // test 호출됨, 1
const a = new test(); // test 호출됨
console.log(a); // test {} : a가 참조주소를 받는 변수가 됐지?
// 문법
// 생성자 : 이것도 대문자로 적
function Student(name, age, score){
this.name = name;
this.age = age;
this.score = score;
// Student클래스 내에 함수를 넣을 수 있다
// this.study = function(){
// console.log(this.name + "이 공부를 한다");
// };
}
const st1 = new Student("한조", 33, 99);
console.log(st1); // Student {name: '한조', age: 33, score: 99}
console.log(st1.name, st1.score); // 한조 99
console.log(new Student("이렇게도 되겠지", 12, 99));
// Student클래스 내에 함수를 넣을 수 있다
// --> 되긴하나, 객체가 호출시마다 생성이되니까... 데이터 관리가 좀 껄끄럽지?
// st1.study();
// 프로토타입!!!!
// 1. 람다식 -> 람다식은 적용이 안돼..ㅎ
// Student.prototype.study = () =>{
// console.log(this.name + "가 공부를 한당")
// };
// 2. 익명함수
// 현재 존재하고 있는 Student 프로토타입에 study 메소드를 추가함.
Student.prototype.study = function(){
console.log(this.name + "가 공부를 한당");
};
st1.study();
//--> 이러면 바깥에서 메서드를 추가한거니까 데이터관리가 좀 낫겠다.
'JavaScript > DAY 35 _ 23.10.12' 카테고리의 다른 글
자료구조(list, map) (0) | 2023.10.12 |
---|---|
Class★ (0) | 2023.10.12 |
JSON (0) | 2023.10.12 |
closure function2 (0) | 2023.10.12 |
closure function (0) | 2023.10.12 |