diff --git a/Sources/JavaScriptKit/JSFunction.swift b/Sources/JavaScriptKit/JSFunction.swift
index 87c38dd38..f3b0c5b22 100644
--- a/Sources/JavaScriptKit/JSFunction.swift
+++ b/Sources/JavaScriptKit/JSFunction.swift
@@ -82,6 +82,13 @@ public class JSClosure: JSFunctionRef {
         id = objectRef
     }
 
+    convenience public init(_ body: @escaping ([JSValue]) -> ()) {
+        self.init { (arguments: [JSValue]) -> JSValue in
+            body(arguments)
+            return .undefined
+        }
+    }
+
     public func release() {
         Self.sharedFunctions[hostFuncRef] = nil
         isReleased = true