210302_TIL

seungyeon·2021년 3월 2일
0

TIL

목록 보기
28/64

IM: DAY 9

오늘 한 일

  • BeesBeesBees Sprint - Advanced Requirement 구현 (pair)
  • Subclass Dance Party Sprint - 시작 (pair)

기억할 것

JavaScript

ES5(pseudoclassical)

  • 파생클래스의 메서드에서 베이스클래스의 메서드를 상속받아 사용하고 싶다면 반드시 apply(this, arguments)로 this를 재설정해주어야 한다.
// 최상위 Base Class
const Human = function(name) {
    this.name = name;
}

// Human Class의 파생 Class
const Applicant = function(name, period) {
    Human.apply(this, arguments);
    this.period = period;
    this.skill = 0;
    this.initSkill(this.period);
}
Applicant.prototype = Object.create(Human.prototype);
Applicant.prototype.constructor = Applicant;

Applicant.prototype.checkCurrentSkill = function() {
    return `${this.name}의 현재 skill 점수는 ${this.skill}입니다.`;
}
Applicant.prototype.initSkill = function(period) {
    this.skill += parseInt(period) * 10;
}
Applicant.prototype.updateSkill = function(num = 1) {
    this.skill += num;
    return `${this.name}의 실력이 ${num >= 0 ? '+'+num : '-'+num} 되었습니다. 현재 skill 점수는 ${this.skill}입니다.`
}

// Applicant Class의 파생 Class
const Ilander = function(name, period) {
    Applicant.apply(this, arguments);
    this.group = undefined;
}
Ilander.prototype = Object.create(Applicant.prototype);
Ilander.prototype.constructor = Ilander;

Ilander.prototype.practice = function(num = 1) {
    Applicant.prototype.updateSkill.apply(this, arguments); // 주목!!
    return `연습을 통해 ${this.name}의 실력이 ${this.skill-num}에서 ${num}만큼 상승하였습니다. 현재 skill 점수는 ${this.skill}입니다.`
}

// Ilander Class의 인스턴스
const heeseung = new Ilander('Heeseung', 4);

CSS

  • z-index는 상속되지 않는다.
  • css만 사용해서 이미지의 좌우반전이 가능하다.

내일 할 일

  • Subclass Dance Party Sprint 완성하기

0개의 댓글