javascriptbabeljsbabel-plugin

Javascript new syntax implementation


Can anyone give me a direction on how to implement python like syntax of lists array[-1] using Babel in javascript? I mean how to implement negative indexes.


Solution

  • You could go with your own proxy implementation and then use it.

    const letters = ['a', 'b', 'c', 'd', 'e'];
    const proxy = new Proxy(letters, {
        get(target, prop) {
            if (!isNaN(prop)) {
                prop = parseInt(prop, 10);
                if (prop < 0) {
                    prop += target.length;
                }
            }
            return target[prop];
        }
    });
    proxy[0]; // => 'a'
    proxy[-1]; // => 'e'
    proxy[-2]; // => 'd'
    

    Please refer to this article on medium explaining in detail how to do this. I do not know of another way, perhaps there is a babel plugin that could help.