Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.05.2021, 10:28
Аватар для fxobject
Кандидат Javascript-наук
Отправить личное сообщение для fxobject Посмотреть профиль Найти все сообщения от fxobject
 
Регистрация: 01.03.2021
Сообщений: 133

наследование и оператор new
Доброго дня!
Может кто подскажет, сходу не могу понять - есть класс:
class fxSNMP {
constructor( wsClient ){
..........
}
есть потомок
class DES_1210_10 extends fxSNMP {
.....
}
есть создание объекта
= new fxSNMP( wsClient );
так вот - при создании создается класс - DES_1210_10
отладчиком смотрю. ерунда какая то!!!
Ответить с цитированием
  #2 (permalink)  
Старый 05.05.2021, 13:25
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,701

Ну если отладчик, то поставьте точку останова на
= new fxSNMP( wsClient );
Потом на конструкторе DES_1210_10 и смотрите, почему он вызывается.
Ответить с цитированием
  #3 (permalink)  
Старый 05.05.2021, 14:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от fxobject
при создании создается класс - DES_1210_10
Как именно ты смотришь?

У меня все нормально...

class Test {
	constructor(val) {
		this.val = val
		alert('Из Test ' + new.target.name)
	}
	info() {
		alert('Это родитель')
	}
}
class NewTest extends Test {
	constructor(val) {
		super(val)
		alert('Из NewTest ' + new.target.name)
	}
	info() {
		alert('Это ребенок')
	}
}

const obj1 = new Test('Пример 1')
obj1.info()
const obj2 = new NewTest('Пример 2')
obj2.info()

Последний раз редактировалось ksa, 05.05.2021 в 14:44.
Ответить с цитированием
  #4 (permalink)  
Старый 05.05.2021, 19:48
Аватар для fxobject
Кандидат Javascript-наук
Отправить личное сообщение для fxobject Посмотреть профиль Найти все сообщения от fxobject
 
Регистрация: 01.03.2021
Сообщений: 133

все дело было в module.exports.
так и не разобрался что экспортирует оператор
module.exports = class1
сделал иначе
module.exports.class1 = class1
module.exports.class2 = class2
и все дальше завелось
Ответить с цитированием
  #5 (permalink)  
Старый 05.05.2021, 20:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от fxobject
сделал иначе
module.exports.class1 = class1
module.exports.class2 = class2
Как "альтернативный" вариант...

module.exports = {
    class1,
    class2
}
Ответить с цитированием
  #6 (permalink)  
Старый 05.05.2021, 21:19
Аватар для fxobject
Кандидат Javascript-наук
Отправить личное сообщение для fxobject Посмотреть профиль Найти все сообщения от fxobject
 
Регистрация: 01.03.2021
Сообщений: 133

в одной из статей экспорт назвали эти штуки ))). теперь так и будем называть. спасибо откликнувшимся.... вопрос закрыт
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему некорректно работает оператор instanseof? FunnyCat Общие вопросы Javascript 3 29.08.2018 18:05
Наследование Angular dormammun Angular.js 0 05.01.2016 00:51
Чем отличается составной оператор от литерала объекта? rgl Общие вопросы Javascript 10 26.02.2013 22:38
Прототипное наследование не распространяется на вложенные свойства? novikov Общие вопросы Javascript 4 19.11.2012 14:31
Оператор && и его не понимание volkovics Общие вопросы Javascript 9 24.05.2012 00:15