Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using eval method to get class from string in Firefox

What I tried (which works in chrome)

var class_str = "class Test {};";
var a = eval(class_str);
console.log(new a());

Raises following error in Firefox 46:

TypeError: a is not a constructor

a is undefined and using new A() returns ReferenceError: A is not defined.

What is different on Firefox?

like image 297
previous_developer Avatar asked Sep 02 '16 18:09

previous_developer


1 Answers

Putting the whole class string in parentheses works.

Fixed code:

var class_str = "(class Test {})";
var a = eval(class_str);
console.log(new a());
like image 138
previous_developer Avatar answered Sep 21 '22 10:09

previous_developer