Zend certified PHP/Magento developer

Magento 2 Knockout Binding, what does bind do?

I’m struggling to fully understand how .bind(this) works within this code?

Removing the bind causes the time not to update. It’s kind of frying my brain trying to understand the bind method. Apologies if it’s a n00b question.

return uiComponent.extend({
        defaults: {
            template: "Vendor_UiComponent/clock",
        },
        _currentTime: ko.observable("Loading the time, hang tight."),
        initialize: function () {
            this._super();
            setInterval(this.updateTime.bind(this), 1000);
        },
        updateTime: function () {
            this._currentTime(new Date());
        },
        getCurrentTime: function () {
            return this._currentTime;
        },
    });
});