我有一个JS类声明:
class Useful {
someFunction(index) {
//Does something with index
}
但是我不确定最佳做法是声明需要变量,例如var fs = require('fs')
以及如何使用它 - 即:
var fs = require('fs')
声明应该在class
声明之内还是在声明之外this
感谢。
更新 - 以下评论 - 这是正确的
const fs = require('fs')
class Useful {
someFunction(index) {
//Does something with index
fs.writeFile(......)
}
答案 0 :(得分:1)
1)理想情况下,所有模块要求声明应位于文件的顶部。
const useful = require('useful')
class foo ....
2)'这个'指的是类本身,因此如果你需要它,你需要显式地将刚导入的模块作为类属性附加到类构造中
class Useful (importedModule) {
constructor(importedModule) { // constructor syntactic sugar
this.module = importedModule;
}
3)使用es6,您还可以使用
导入模块import somethingUseful from 'module_or_./filePath_where_something_useful_is_kept'
4)使用es6 let和const是var的更好的替代品。
答案 1 :(得分:0)
A
class Useful {
someFunction(index) {
const fs = require("fs");
}
}
乙
const fs = require("fs");
class Useful {
someFunction(index) {
}
}
这两者之间存在重要区别:在A中,每次调用 someFunction 时都会加载fs。这对性能不利,没有真正的优势。所以使用B。