Why Typescript Map is not automatically indexable (& property-accessable) like Indexable Types? -
so, in typescript below code works:
interface counterarray { [index: string]: number; } let myarray: counterarray = {}; myarray["001"] = 0 myarray["002"] = 0 console.log(myarray[0]) // should result 0
got it. good! but, if map.
const map = new map<string, number> map.set("001",0) map.set("002",0) console.log(map[0]) // syntax error: element implicitly has 'any' type because type 'map<number,string>' has no index signature.
well i'm quite baffled this, because, coming java/kotlin/c#, map default should index-able key. , think, such work should done elegantly using map<key,value>
.
moreover, using "first code block above", can like:
console.log(myarray["001"]++) // should results 1
while can't map counterpart
console.log(myarray.get("001")++) // syntax error, object possibly undefined -> on editor level. it's syntax error. not compile or other runtime error.
i think behavior weird. or maybe expected? maybe map
know (from java/c#/kotlin) different typescript's map
?
thanks explanation!
Comments
Post a Comment