Oh I thought of an other one. In Clojure "objects" are actually maps, which can have non-string keys as well. That means you can destructure maps which have non-string (or, technically, keyword) keys as well:
(defn foo [{a 1
b 2 :as bar}]
[bar a b])
(foo {1 "hi" 2 "world" 3 "!"}) ;; => [{1 "hi", 2 "world", 3 "!"} "hi" "world"]
In JS of course you can have Maps with non-string keys, but destructuring doesn't work on them. Plus you have other issues like arrays in JS having equality defined by reference rather than value, making maps less useful overall.