{"ScriptPreparationCode":"function getRandomInt(max) {\r\n return Math.floor(Math.random() * max);\r\n}\r\n\r\nfunction handle(v) {\r\n console.log(\u0060${v} \u003E= 50\u0060);\r\n}\r\n\r\nfunction test1(v) {\r\n v \u003E= 50 \u0026\u0026 console.log(\u0060${v} \u003E= 50\u0060);\r\n}\r\n\r\nfunction test2(v, fn) {\r\n v \u003E= 50 \u0026\u0026 typeof fn === \u0027function\u0027 \u0026\u0026 fn(v);\r\n}\r\n\r\nfunction test3(v) {\r\n return (fn) =\u003E v \u003E= 50 \u0026\u0026 typeof fn === \u0027function\u0027 \u0026\u0026 fn(v);\r\n}\r\n\r\nfunction test3_1(fn) {\r\n return typeof fn === \u0027function\u0027 ? (v) =\u003E v \u003E= 50 \u0026\u0026 fn(v) : undefined;\r\n}\r\n\r\nfunction test4(v) {\r\n return (fn) =\u003E {\r\n try {\r\n v \u003E= 50 \u0026\u0026 fn(v);\r\n } catch (e) {\r\n }\r\n };\r\n}","TestCases":[{"Name":"test1: if","Code":"test1(getRandomInt(100));","IsDeferred":false},{"Name":"test2: callback","Code":"test2(getRandomInt(100), handle);","IsDeferred":false},{"Name":"test3: currying","Code":"test3(getRandomInt(100))(handle);","IsDeferred":false},{"Name":"test3_1: currying reverse","Code":"test3_1(handle)(getRandomInt(100));","IsDeferred":false},{"Name":"test4: currying in try...catch","Code":"test4(getRandomInt(100))(handle);","IsDeferred":false}]}