Akses data object dengan bracket square
javascript developer ketika migrasi ke typescript pasti bertemu probelm dimana ketika mengakses sebuah data didalam object dengan bracket square
const obj = {
1: "test",
};
console.log(obj[1]);
akan muncul error seperti dibawah
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type
atau
'...expression of type string cannot be used to index...'
Solusi
interface ObjectTest {
name: string
}
const obj: ObjectTest = {
name: "test
}
const key = "name"
console.log(obj[key as keyof ObjectTest])
atau jika type object tidak diketahui, caranya
const obj = {
name: "test
}
const key = "name"
console.log(obj[key as keyof typeof obj])