JSFiddle - React, Tailwind, and code Playground

HTML

<div id="counter">0</div>

JavaScript

// basic class implementation
function myCounter() {
    // privileged property for iteration
    this.i = 0;
    
    // privileged init method
    this.init();
}

// defining init method
myCounter.prototype.init = function () {
    // reassign this
    var _this = this;
    setInterval(function () {
        // call this.countUp() using our new created variable.
        // this has to be done as this would normally call something 
        // inside this function, so we have to pass it as own
        // variable over
        _this.countUp();
    }, 500);
};

// defining the counter method
myCounter.prototype.countUp = function () {
    this.i++;
    document.getElementById('counter').innerHTML = this.i;
};

// create a new instance of our counter class
var counter = new myCounter();