IE11 と reCAPTCHA と core-js を組み合わせると何かが壊れることがある


何が起きたか

IE11 で core-js を使った JavaScript を動かしてるとこに reCAPTCHA のwww.google.com/recaptcha/api.js を組み合わせたらこんなエラーが発生した。

SCRIPT5005: 文字列を指定してください
recaptcha__ja.js (2,220)

色々調べてると core-js のto-primitive.jsからもエラーが出てる。IE11は catch されない throw は構文エラーになるやつ。

SCRIPT5022: catchステートメントでは適用されますが、throwステートメントでは適用されません

Symbol のポリフィルが reCAPTCHA との兼ね合いでエラー起こすようになってる?

解決策

Cannot convert object to primitive value with core-js 3.1.3 + webpack #566 の Cobertos さんのコメント通り、recaptcha/api.js を core-js より後ろで呼ぶようにしたら怒られなくなった。