外部公開しない変数countを用いている。
変数countはファイルの先頭で定義されているが、この変数のスコープはモジュール内である。
var count = 0;
module.exports = {
say: function(name){
count++;
console.log('Hello ' + name);
},
getCount: function(){
return count;
},
resetCount: function(){
count = 0;
}
};
module.exports = {
say: function(name){
count++;
console.log('Hello ' + name);
},
getCount: function(){
return count;
},
resetCount: function(){
count = 0;
}
};
変数countのスコープがモジュール内になるのは、var付きの変数宣言をしているためであり、varなしで宣言した場合は、その変数はグローバル変数になることに注意する。
varなしで宣言した場合、上記のresetCount()が正常に動作しない。