Skip to main content

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])