유형을 인덱스 유형으로 사용할 수 없습니다.
https://www.typescriptlang.org/play/index.html 으로 이동하여 다음을 붙여넣습니다.
let userTypes = {};
let keys = Object.keys[userTypes];
오류 수신:
error TS2538: Type '{}' cannot be used as an index type.
왜요?
Object.keys
속성 배열을 반환합니다.개체를 사용하여 배열을 인덱싱할 수 없습니다. 배열의 시작 부분부터 오프셋을 나타내려면 숫자를 사용해야 합니다.
이와 유사한 예로 이 코드가 수행할 작업은 무엇입니까?
var a = [1, 2, 3, 4]
console.log(a[{}]);
말도 안 돼요.
편집: OP의 코멘트를 읽고 코드를 다시 검토한 후, 저는 제 평가가 틀렸다는 것을 깨달았습니다.문제는 원래 코드가 색인화를 시도한다는 것입니다.keys
객체 리터럴을 사용하는 함수이며, 실제 문제는 괄호 대신 대괄호를 사용하는 것입니다.이렇게 하면 됩니다.
let keys = Object.keys(userTypes);
이트 콜keys
와 함께userTypes
그것으로 색인하는 대신에.
가장 간단한 해결책은 빈 문자열을 항목과 함께 추가하는 것입니다.키[인덱스]
let userTypes = {};
let keys = Object.keys[userTypes+''];
*ngFor에서 개체에 keyValue 파이프를 사용하는 경우에도 이 트릭을 사용할 수 있습니다!!
언급URL : https://stackoverflow.com/questions/41400930/type-cannot-be-used-as-an-index-type
'programing' 카테고리의 다른 글
체리픽 작업 후 깃은 어떻게 합쳐집니까? (0) | 2023.07.04 |
---|---|
다른 분기에서 변경 사항을 가져오는 방법 (0) | 2023.07.04 |
루비: 범위 내에서, 그러나 세트 증분으로 반복하는 방법은 무엇입니까? (0) | 2023.07.04 |
C의 배열에 여러 값 할당 (0) | 2023.07.04 |
PL/SQL 프로그램 중단 (0) | 2023.07.04 |