{"ScriptPreparationCode":"class ArrowMethod {\r\n constructor() {\r\n\r\n }\r\n method = () =\u003E {}\r\n}\r\nclass BindMethod {\r\n constructor() {\r\n this.method.bind(this)\r\n }\r\n method() {}\r\n}\r\nclass NoBind {\r\n constructor() {\r\n\r\n }\r\n method() {}\r\n}\r\nconst n = new NoBind()\r\nconst a = new ArrowMethod()\r\nconst b = new BindMethod()","TestCases":[{"Name":"existing instance arrow method","Code":"a.method()","IsDeferred":false},{"Name":"existing instance bind method","Code":"b.method()","IsDeferred":false},{"Name":"new instance arrow method","Code":"new ArrowMethod().method()","IsDeferred":false},{"Name":"new instance bind method","Code":"new BindMethod().method()","IsDeferred":false},{"Name":"create 1000 instances call arrow method","Code":"for (let i=0;i\u003C1000;i\u002B\u002B){\r\n\tnew ArrowMethod().method()\r\n}","IsDeferred":false},{"Name":"create 1000 instances call bind method","Code":"for (let i=0;i\u003C1000;i\u002B\u002B){\r\n\tnew BindMethod().method()\r\n}","IsDeferred":false},{"Name":"no binds","Code":"n.method()","IsDeferred":false},{"Name":"new instance no binds ","Code":"new NoBind().method()","IsDeferred":false},{"Name":"create 1000 instances call no bind method","Code":"for (let i=0;i\u003C1000;i\u002B\u002B){\r\n\tnew NoBind().method()\r\n}","IsDeferred":false}]}