SCRIPT1006: Expected ')'

This is happening because you are trying to run the Javascript ES6 code on non supported IE browser.

ECMAScript 6, also known as ECMAScript 2015, is the latest version of the ECMAScript standard. ES6 is a significant update to the language, and the first update to the language since ES5 was standardized in 2009.

Please go through the below docs for more details

Funtion with default value : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters#Syntax

Supported Browser Lists : https://kangax.github.io/compat-table/es6/

Here is the update code for all browsers

function padZeros(num, size) {
 var s = num+"";
 while (s.length < size) {
  s = "0" + s;
 }
 return s;
}
padZeros(10,4)/*10 is your num and 4 is your pad size*/

The issue is that Internet Explorer does not understand "default values for arguments" - this is ES2015+ and since development for IE stopped a long time ago, there's no way the new fangled ES2015+ syntax will ever work for IE

Try using a transpiler like babel for example until IE officially dies!

function padZeros(num) {
    var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;

    var s = num + "";
    while (s.length < size) {
        s = "0" + s;
    }
    return s;
}

Tags:

Javascript