I am using “for...of” in many places in my Javascript code which is a new technology, part of Javascript’s new specification (ECMAScript 2015 (E56) standard). "for...of" is supported in Chrome, Safari and Firefox. Though, IE doesn’t yet support this new feature (See this link). What would be my best approach to support these 4 main browsers - do I revert to "for in/for loop" or do I use browser-sniffing code or is there a better hack to be able to both use some hybrid "for...of" and "for...in"? This is not a repeat of this question here: link_here because I am aware that IE does not support "for...of". What I am looking for is if there is a hack to still use it and still support all the 4 browsers I listed?
for...of - JavaScript keyword Internet Explorer work-around
389 views Asked by Kapil Vyas At
2
There are 2 answers
0
balrob
On
If you want back compat support for "for...of" your only choice is a compiler (transpiler). If you look here: https://kangax.github.io/compat-table/es6/ the well known compilers, and the level of support they provide, are well documented.
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in PERFORMANCE
- Upsert huge amount of data by EFCore.BulkExtensions
- How can I resolve this error and work smoothly in deep learning?
- Efficiently processing many small elements of a collection concurrently in Java
- Theme Preloader for speed optimization in WordPress
- I need help to understand the time wich my simple ''hello world'' is taking to execute
- Non-blocking state update
- Do conditional checks cause bottlenecks in Javascript?
- Performance of sketch drastically decreases outside of the P5 Web Editor
- sample query for review for improvement on big query
- Is there an indexing strategy in Postgres which will operate effectively for JOINs with ORs
- Performance difference between two JavaScript code snippets for comparing arrays of strings
- C++ : Is there an objective universal way to compare the speed of iterative algorithms?
- How to configure api http request with load testing
- the difference in terms of performance two types of update in opensearch
- Sveltekit : really long to send the first page and intense CPU computation
Related Questions in CROSS-BROWSER
- Trouble Receiving Data from Front-End to Back-End Across Different Browsers and Devices
- cross- browser issues.how to handle in code level
- File Format: WebM encoded with the VP8 codec is not previewing in Safari browser
- How to align the last child of a table cell to the bottom of the cell?
- Refresh loses scrolling position on XML page rendered with XSLT
- Keep mobile browser top/bottom bars minimized unless user manually taps on them
- Polyfill for ReadableStream.from in browser?
- mix-blend-mode: color; is not working for <video> on iOS and Mac devices
- Capture files pending loading via JavaScript
- Polyfill for PerformanceObserver API to Implement Server Traffic Measurement
- AfterViewChecked behaves differently in Chrome and Firefox
- css grid with subgrid and overflow breaks on safari but works on all other browsers
- Arrow Rotation and Scroll Reset Issue on Mobile Browsers
- Iframe : Reload back and forward Navigation
- What causes gradient banding and how do you fix it?
Related Questions in COMPATIBILITY
- Which Rstudio, R and R Graphics Engine combinations are compatible?
- Migration From Vue2 to Vue Compact: Build is stuck in the loop
- Change an exe file's compatibility settings with C#
- GNU libc on windows and MINGW
- SVN dump file compatibility with higher version (eg. 1.14.x)
- How to turn off "Use Legacy display ICC color management"?
- Why does the Haskell PVP describe new functions as non-breaking?
- The Microsoft.Adapters.Sql.BizTalk.WcfBtsSqlReceiver assembly (version 3.5.0.0) compatibility issue with 64-bit Office 365
- Airflow PostgreSQL sqlalchemy
- Angular 17.2.0 does not support ConnectionServiceModule?
- Which php version is codeigniter 3.1.11 compatible with?
- Fill PDF fields using iTex -:compatibilities of the versions phone's Android OS, Android Studio, Adobe Acrobat
- .NET Framework 4.5.2-based Console application compatibility problems with .NET 6-based Class Library project
- xcode mac designed for iphone app run in wrong window size
- Unable to Connect Logitech MX Keys Mini to Ubuntu 22.04. Works in Try Ubuntu but Not in Installed Version
Related Questions in ECMASCRIPT-6
- Doesnt update state after successfully fulfilled Reducers
- Adding values dynamically inside useState in ReactJS
- removeEventListener for transitionend not working
- several compilation errors in Typescrip+express+typeorm
- Is there a way to console log/error and return from a function in one line using ES6 syntax?
- "no lockfile entry" while importing remote JSON over http
- React and Material-UI Autocomplete Multiple Items
- When I run the server in javascript and combine html and tsx formatted files and present them to the server, I get an error in css
- Why is assigning a value to super in the constructor in the ES6 standard? It is assigning a value to an instance of the class
- Router cannot be exported when using es6 syntax
- In node using modules. how to change require to import for stripe
- Add callback function to tailwind "duration" animation
- TypeError: Named parameters can only be passed within plain objects, while trying to handle Sqlite errors using ES6 arrow functions
- error in the operation of the -dev flag NPM
- Is Map a set of keys (JavaScript the Definitive Guide - David Flanagan) or a set of key-value pairs (MDN)?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
You can add the Traceur compiler:
It should work even on IE9.