There is a difference between input entered directly into the jsc REPL (through a terminal set to UTF-8) vs. passed as a file (saved with UTF-8 encoding). $ jsc -e 'print("\xCF\x80" === "π")' false $ jsc >>> print("\xCF\x80" === "π") true This might lead people to (incorrectly!) believe that e.g. jsc’s implementation of Unicode property escapes is broken: $ jsc >>> /\p{Script=Greek}/u.test("π") false $ jsc -e 'print(/\p{Script=Greek}/u.test("π"))' true
https://bugs.webkit.org/show_bug.cgi?id=180105
Fixed in 180205.
*** This bug has been marked as a duplicate of bug 180205 ***