I've just started using Typescript in a project for the first time.
I really want to use Map() to organize a small array of key value pairs.
Unfortunately when the typescript is compiled (using gulp and gulp-typescript) to vanilla, ES5 JavaScript, Map() still exists. I need this code to work in ie9.
Any advice at this stage would be greatly appreciated.
Map
is a part of ES6 and have nothing to do with TypeScript.
If you want tot use Map
in ES5 environment you should include an appropriate polyfill.
My first two thoughts are:
es6-map
modulecore-js/es6/map
from core-js
generic ES6 polyfill library
You'll need a shim or a polyfill.
I've used es6-map once and it's pretty good.
Unfortunately there is no TypeScript definitions for it, so my suggestion would be using es6-shim directly from a CDN and add this to your tsconfig.json
.
{
"compilerOptions": {
"target": "es5",
"lib": ["es6"]
}
}
You'll be able to use ES6 Map strongly typed, your code will be compiled down to ES5 and old browsers would support it through the shim.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With