티스토리 뷰
생성자 함수
const Person = (function(){
//인스턴스 메소드, 프로퍼티
function Person(name){
this.name = name;
this.sayName = function(){
console.log('name:'+this.name);
}
}
//프로토타입 메소드, 프로퍼티
Person.prototype.age = 20;
Person.prototype.sayHi = function(){
console.log('Hi! My name is '+this.name);
}
//정적 메소드, 프로퍼티
Person.country = "america";
Person.sayHello = function(){
console.log('Hello');
}
return Person;
}());
let emma = new Person("Emma");
클래스
class Person{
//인스턴스 메소드, 프로퍼티
//1. 클래스 필드 - 클래스 몸체에 this 없이 선언
hobby = "baseball";
sayHobby = () => console.log(this.hobby);
//2. 생성자
constructor(name){
this.name = name;
this.sayName = function(){
console.log(this.name);
}
}
//프로토타입 메서드
sayHi(){
console.log('Hi! My name is '+this.name);
}
//정적 메소드, 프로퍼티
static country = "america";
static sayHello(){
console.log('Hello');
}
}
let john = new Person('John');
클래스에서 프로토타입 프로퍼티를 지정하는 방법은 딱히 없는 것 같은데 (뭔가 복잡하게 트릭을 쓰는거 제외하면?)
사실 프로토타입 프로퍼티 그닥 필요없어서 그런것 같음.
인스턴스 별로 다른 값 가지고 싶은 경우면 인스턴스 프로퍼티로, 그냥 모두가 동일한 값 참조하고 싶은 거라면 정적 프로퍼티로 만들면 될테니까.
'시리즈 > Javascript' 카테고리의 다른 글
react 뼈대 (0) | 2021.04.20 |
---|---|
실행 컨텍스트를 알면 보이는 것들 (0) | 2021.04.01 |
참고하면 좋은 글 모음 (0) | 2021.03.18 |
[node] node로 웹 프로젝트 시작할 때 나오는 용어들 정리 (0) | 2021.02.27 |
[react] create-react-app으로 만든 app에서 테스트용 서버는 어떻게 돌아가나 (0) | 2021.02.27 |
댓글
공지사항
최근에 올라온 글