基本JS - 声明需要var并使用内部类

时间:2017-09-27 06:34:46

标签: javascript node.js

我有一个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(......)
    }

2 个答案:

答案 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。