javascriptpythonreplacebrowserify

How can I replace ?? with ternary operator in js?


I have a JS file which was created using browserify, and it uses the ?? operator. The problem is, the environment where I am executing this JS file doesn't support that operator yet.

Is there any way I can go through the file, search and replace it using regex?

The change would be from this:

object.error ?? 0

To this:

x == undefined ? 0 : object.error

Solution

  • Is it JS or Python?

    Anyway, try capturing the line with:

    (([^ \t]+)[ \t]*\?\?[ \t]*\d+)
    

    This expression returns two groups:

    1. The line to be replaced
    2. The object.error

    You then need to replace group#1 by x == undefined ? 0 : group#2