document.documentElement.innerHTML = responseBody        npm i --save serve{
    ...
    "scripts": {
        "start": "serve src -l 8080"
    }
}const rawStepsList = stepArray.map({dataset} => dataSet.map({point} => point.value))
const normalizedStepsList = Array.flat(rawStepsList)class Dog {
    
    constructor(name){
        this.name = name    
    }
    showName(){
        // При вызове метода имя будет взято из конкретного экземпляра 
        console.log(`My name is ${this.name}`)
    }
    showNameAndBark(){
        // При вызове метода имя будет взято из конкретного экземпляра
        console.log(`My name is ${this.name}`)
        // Однако этот метод - статический и может сущестсовать без экземпляра - пример снизу
        Dog.bark()
    }
    static bark(){
        console.log('wooof wooof')
    }
    
    static maxLifetime = 26
}
// Вызов метода у класса
Dog.bark()
const charlieDog = new Dog('Charlie') // - А вот это уже конкретная собака по имени Чарли. И таких собак может быть много, с разными именами, но они одна сущность - собака.
// Вызов метода у экземпляра класса
charlieDog.showName()
charlieDog.showNameAndBark()
// Прямой доступ к полям
console.log(charlieDog.name) // Это имя конкретной собаки, поскольку это экземпляр
console.log(Dog.maxLifetime) // А это статическое поле - у всех собак срок жизни не превышает данныйnode "путь до файла"