{"ScriptPreparationCode":"var Closure = (function initClosure() {\r\n let value = 0;\r\n return {\r\n getValue: function getValue() {\r\n return value;\r\n },\r\n setValue: function setValue(x) {\r\n value = x;\r\n }\r\n };\r\n}());\r\nclass Private {\r\n #value = 0;\r\n constructor() {\r\n this.#value = 1\r\n }\r\n get value() {\r\n return this.#value\r\n }\r\n set value(x) {\r\n this.#value = x\r\n }\r\n getValue() {\r\n return this.#value\r\n }\r\n setValue(x) {\r\n this.#value = x\r\n }\r\n}\r\nclass Public {\r\n value = 0;\r\n constructor() {\r\n this.value = 1\r\n }\r\n get value() {\r\n return this.value\r\n }\r\n set value(x) {\r\n this.value = x\r\n }\r\n getValue() {\r\n return this.value\r\n }\r\n setValue(x) {\r\n this.value = x\r\n }\r\n}\r\nvar private = new Private();\r\nvar public = new Public();\r\nvar val = 0;","TestCases":[{"Name":"Public - ES6 property (get)","Code":"val = public.value;","IsDeferred":false},{"Name":"Public - Getter function","Code":"val = public.getValue();","IsDeferred":false},{"Name":"Public - Directly get","Code":"val = public.value;","IsDeferred":false},{"Name":"Public - ES6 property (set)","Code":"public.value = 1;","IsDeferred":false},{"Name":"Public - Setter function","Code":"public.setValue( 1 );","IsDeferred":false},{"Name":"Public - Directly set","Code":"public.value = 1;","IsDeferred":false},{"Name":"Private - ES6 property (get)","Code":"val = private.value;","IsDeferred":false},{"Name":"Private - Getter function","Code":"val = private.getValue();","IsDeferred":false},{"Name":"Private - ES6 property (set)","Code":"private.value = 1;","IsDeferred":false},{"Name":"Private - Setter function","Code":"private.setValue( 1 );","IsDeferred":false},{"Name":"Closure - Getter function","Code":"Closure.getValue();","IsDeferred":false},{"Name":"Closure - Setter function","Code":"Closure.setValue( 1 );","IsDeferred":false}]}