厳格モード時に変数として使えなくなる予約語です。 arguments eval implements interface package private protected public static let yield // index.js var arguments; arguments = []; var eval = 1; eval = eval; // constは予約語ですが、letは違います var implements, interface, package, private, protected, public, static, let, yield, await; 上記以外の許容されない記法 特殊な記法のケースです。 CodeCJSESMSCRIPT
![CJSとESMの挙動早見表 - hiroppy's site](https://cdn-ak-scissors.b.st-hatena.com/image/square/1aaf4e050c0c43dfe1a730d5a265fd63c4612c4d/height=288;version=1;width=512/https%3A%2F%2Fhiroppy.me%2Fogp%2Fblog%2Fcjs-esm-reference-chart-of-behavior%2Fog-434a53e381a845534de381aee68c99e58b95e697a9e8a68be8a1a86a617661736372697074.png)