반응형
TS 오류:'string' 형식이 배열 형식이나 문자열 형식이 아닙니다.어떻게 끈이 끈이 아닌가요?
TS에서 이상한 오류 발생:
오류: (125, 18) TS2569: 'string' 형식이 배열 형식이나 문자열 형식이 아닙니다.컴파일러 옵션 '--downlevelIteration'을 사용하여 반복기를 반복할 수 있습니다.
왜 끈은 끈이 아닌가요?
TS가 문자열에 대한 스프레드 연산자를 어떻게 컴파일할지 알고 싶습니다.
브라우저 콘솔의 내 코드.문자열은 다음 문자로 분할됩니다.
> s = 'abcdef';
> r = [...s];
< (6) ["a", "b", "c", "d", "e", "f"]
TS의 내 코드:
const s: string = 'abcdef';
const res = [...s]; // <= Error: Type 'string' is not an array type or a string type
console.log(res);
왜요?
TS 버전:
"dependencies": {
"typescript": "^3.5.3"
}
업데이트:
@V to Colleone A 스크린샷
업데이트:
나의tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"downlevelIteration": false,
"allowJs": true,
"skipLibCheck": false,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"alwaysStrict": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": false,
"noEmit": false,
"sourceMap": true,
"baseUrl": "./",
"jsx": "preserve"
},
"compileOnSave": true,
"files": [
"sample.ts"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
Heretic Monkey의 코멘트를 확대하기 위해:
대상 변경es5
로.es2015
또는es6
문제를 해결합니다.여기 내 배가 불러요.tsconfig.json
명확성을 위해:
{
"compilerOptions": {
"target": "es2015",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
},
"exclude": [
"node_modules"
],
"include": [
"next-env.d.ts",
"**/*.ts",
"**/*.tsx"
]
}
참고 사항:"downlevelIteration": true
또한 그것을 고쳤지만, 그것은 나에게 올바른 해결책인 것 같지 않습니다.
Angular-CLI(8)가 있습니다. - 이 경우 수정.tsconfig.json
본조로"target": "es2015"
(또는 es2018) 전혀 도움이 되지 않습니다.추가만"downlevelIteration": true
도움이 됩니다. 여기 제 모든 파일이 있습니다.
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "esnext",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"downlevelIteration": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
언급URL : https://stackoverflow.com/questions/56990364/ts-error-type-string-is-not-an-array-type-or-a-string-type-how-a-string-is-n
반응형
'programing' 카테고리의 다른 글
MongoDB의 기존 필드 끝에 문자열 추가 (0) | 2023.06.22 |
---|---|
유형 스크립트 - 인터페이스의 모든 구현을 가져옵니다. (0) | 2023.06.22 |
BIT 열의 MAX 값 가져오기 (0) | 2023.06.22 |
스프링 부트 기본 메모리 설정은 무엇입니까? (0) | 2023.06.22 |
Cloud Firestore와 Firebase 실시간 데이터베이스의 차이점은 무엇입니까? (0) | 2023.06.22 |