angularjs - fel TS2339: Egenskapen 'endsWith' finns inte på typen 'string'


Jag får detta fel på kodblocket nedan.

error TS2339: Property 'endsWith' does not exist on type 'string'
let myList = angular.element(elem).attr("href").split("/");
let last = _.last<string>(myList);
if (last.endsWith("something")) {
   return last;
}

Jag har också upptäckt denna länk som visar att det finns en funktion endsWith(...).

http://definitelytyped.org/docs/typescript-services--typescriptServices/classes/typescript.stringutilities.html

Saknar jag någon .d.ts-fil eller vad?

Svar #1

När du kompilerar din TypeScript-kod, vänligen rikta målet till ES6.

tsc --target ES6 "filename"

Svar #2

endsWith är en ES6-funktion så du behöver rikta in dig på ES6 i dina TypeScript-kompilatorinställningar eller så kan du lägga till ett gränssnitt för den:

interface String {    
    endsWith(searchString: string, endPosition?: number): boolean;
};

[Lekplats]

Relaterade artiklar