JavaScript:";TypeError:无法设置属性';月日';根据ES6未定义的

JavaScript:";TypeError:无法设置属性';月日';根据ES6未定义的,javascript,ecmascript-6,Javascript,Ecmascript 6,我的代码: (function(exports) { var name = ["January", "Febuary", "March", "April", "May", "June","July", "August", "September", "October", "November", "December"]; exports.month = function(number) { return name[number]; };

我的代码:

(function(exports) {
   var name = ["January", "Febuary", "March", "April", "May", "June","July",
                "August", "September", "October", "November", "December"];
   exports.month = function(number) {
     return name[number];
   };
   exports.number = function(number) {
     return name.indexOf(number);
   };
})(this.monthDay = {});

console.log(monthDay.number("April"));
我在ES6中得到以下错误:

TypeError:无法设置未定义的属性“monthDay”


但是,它在ES5下可以很好地工作。为什么

如果在严格模式或ES6模块中运行代码,
未定义的
而不是对全局对象的引用。变量的范围在函数中。相反,在ITI中使用
window.monthDay={}
如果您在严格模式或ES6模块中运行代码,
未定义的
而不是对全局对象的引用。变量的范围在函数中。而是在其中使用
window.monthDay={}