programing

TS2339: '포함' 속성이 '문자열' 유형에 없습니다.

powerit 2023. 6. 22. 22:31
반응형

TS2339: '포함' 속성이 '문자열' 유형에 없습니다.

나는 문자열 배열과 관련하여 언급된 이 오류를 본 적이 있지만 실제 문자열은 아닙니다.나는 라인이 있는 TypeScript 파일을 가지고 있습니다.

if (!bus.lineInfo.PublishedLineName.includes(input)) {

이것은 나에게 오류를 줍니다.

TS2339: Property 'includes' does not exist on type 'string'.

bus다음을 구현하는 변수입니다.bus인터페이스:

interface bus {
    "lineInfo": {
        "PublishedLineName": string,
        "DestinationName": string, // The headsign of the bus
        "Color": string,
        "TextColor": boolean | string // false if this is "FFFFFF", otherwise it's the color
    },
    "warnings": boolean | busWarnings
    "marker"?: google.maps.Marker,
    "result"?: JQuery // The search result that appears in the sidebar
}

lineInfo.PublishedLineName로 선언됩니다.string,그리고.String.prototype.includes() 는 MDN에 따른 함수인데, 왜 TypeScript 컴파일러는 누락된 속성/메소드에 대해 불평합니까?

2016년 또는 es7을 추가해야 합니다.libcompliertsconfig.json의 옵션입니다.기본 TypeScript는 일부 es6 폴리필 함수를 지원하지 않습니다.

{
  "compilerOptions": {
    ...
    "lib": [
       "dom",
       "es7"
    ]
  }
}

또는 ES5를 더 이상 지원하지 않으려면 빌드 대상을 es2016으로 변경합니다.

{
  "compilerOptions": {
    ...
    "target" "es2016"
  }
}

더하다es2016.array.include로.compilerOptions.lib

언급URL : https://stackoverflow.com/questions/51811239/ts2339-property-includes-does-not-exist-on-type-string

반응형