Wie fügen Sie polyfills zu Globals in Typoskript (Module)

War ich in der Lage zu finden, ein polyfill(auf stack overflow) for Array#enthält, und fügen Sie es Maschinenschrift, aber nach dem hinzufügen eines kleinen import meiner Datei, es verwandelt sich in ein Modul(ich verstehe, warum Sie dies für den export, aber warum für die Einfuhr) und ich konnte es nicht ändern Sie den globalen Namensraum nicht mehr.

Wie behebe ich das polyfill?


interface Array<T> {
    includes(searchElement: T) : boolean;
}

//Add Array includes polyfill if needed
//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes#Polyfill
if (!Array.prototype.includes) {
    Array.prototype.includes = function(searchElement /*, fromIndex*/ ) {
        'use strict';
        var O = Object(this);
        var len = parseInt(O.length, 10) || 0;
        if (len === 0) {
            return false;
        }
        var n = parseInt(arguments[1], 10) || 0;
        var k;
        if (n >= 0) {
            k = n;
        } else {
            k = len + n;
            if (k < 0) {k = 0;}
        }
        var currentElement;
        while (k < len) {
            currentElement = O[k];
            if (searchElement === currentElement) { //NaN !== NaN
                return true;
            }
            k++;
        }
        return false;
    };
}
Schreibe einen Kommentar