почему ReferenceError: Clock is not defined что я пропустил

есть два класса в a.js и в b.js

a.js

class Clock {
  clg(){
    console.log(`a`)
    }
 }

b.js

class ExtendedClock extends Clock {};

let d = new ExtendedClock()
d.clg()

в VCCode в терминале пишу node b и не запускается: переношу код в a.js все работает


Ответы (1 шт):

Автор решения: 1ocke

Просто нужно воспользоваться экспортом в одном файле и импортом в другом.

a.js

export default class Clock {
  clg() {
    console.log(`a`);
  }
}

b.js

import Clock from './a';

class ExtendedClock extends Clock {}

let d = new ExtendedClock();
d.clg();

Либо с использованием старого синтаксиса.

a.js

class Clock {
  clg() {
    console.log(`a`);
  }
}

module.exports = { Clock };

b.js

const Clock = require('./a').Clock;

class ExtendedClock extends Clock {}

let d = new ExtendedClock();
d.clg();
→ Ссылка