Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.09.2019, 15:02
Новичок на форуме
Отправить личное сообщение для AnotherPerson Посмотреть профиль Найти все сообщения от AnotherPerson
 
Регистрация: 02.09.2019
Сообщений: 3

Наследую класс и Ерор
Создал основной класс FilterWithoutZero который наслдует от Date
Потом создал еще один клас InputDate который наследуют FilterWithoutZero
Почему InputDate не видит toString (я же наследую от Date, там по дефолту прототип Object есть )

Ошибка:
Цитата:
Uncaught TypeError: Cannot read property 'toString' of undefined
at new FilterWithoutZero (dateInput.js:4)
at new InputDate (dateInput.js:12)
at dateInput.js:40
Вот сам код:

class FilterWithoutZero extends Date {
    
    constructor(elem) {
        elem.toString();
        if(elem.length == 1) {
           this.elem = 0+elem;
        }
        
    }
}

class InputDate extends FilterWithoutZero {

    getDay = this.getDate().toString();
    getMonthSub = this.getMonth()+1;
    getMonth = this.getMonthSub.toString();
    getYear = this.getFullYear();
    getMinutes = this.getMinutes().toString();
    getHours = this.getHours().toString();
    collectDate() {
        if(this.getDay.length == 1) {
            this.getDay = 0+this.getDay;   
        }
        if(this.getMonth.length == 1) {
            this.getMonth = 0+this.getMonth;
        }
        return this.getYear+"-"+this.getMonth+"-"+this.getDay; 
    }
    collecTime() {
        if(this.getMinutes.length == 1) {
            this.getMinutes = 0+this.getMinutes;   
        }
        if(this.getHours.length == 1) {
            this.getHours = 0+this.getHours;   
        }
        return this.getHours+":"+this.getMinutes;
    }
}

console.log(new InputDate());

export { FilterWithoutZero, InputDate }
Ответить с цитированием
  #2 (permalink)  
Старый 17.09.2019, 09:57
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Наследование нужно чтобы код не повторять, а у тебя конструкция if (string.length == 1) { variable = 0 + string } повторяется 5 раз.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Owl Carousel - добавить и удалить класс при смене слайда ethereal Элементы интерфейса 1 08.08.2019 22:47
Подскаите как менять класс у елемента в зависимость от класса другово елемента NirVanea Общие вопросы Javascript 4 10.09.2015 13:51
Изменить класс родительского элемента STyLe Общие вопросы Javascript 1 29.05.2014 20:21
Передал аяксом класс в <div>, но как отловить событите клик на этот класс ? saturn Элементы интерфейса 11 31.05.2012 10:30
Jquery немогу установить класс! shureg Общие вопросы Javascript 4 26.10.2010 14:37