2017-09-27 1 views
0

내부에 사용 나는 JS 클래스는 선언이 :기본 JS VAR을 필요로 선언하고 클래스

class Useful { 
    someFunction(index) { 
    //Does something with index 
} 

나는 가장 좋은 방법은 사용하는 방법 등 var fs = require('fs')과 같은 변수를 필요로 선언하는 것입니다 무엇인지 확실 해요 그러나 이 - 즉 :

  • var fs = require('fs')
  • class 선언 내부 또는 외부이어야한다 그리고 그것이 내가 사용하는 것이 사용 this

감사합니다.

UPDATE - 다음과 같은 의견 -이 올바른

const fs = require('fs') 

    class Useful { 
     someFunction(index) { 
     //Does something with index 
     fs.writeFile(......) 
    } 
+0

클래스 블록 내의 변수 선언은 허용되지 않습니다 (현재). 전에 넣고, 항상'const'를 사용하십시오. fs에 어떻게 접근하고 싶습니까? –

+0

@Jonasw 나는 그 클래스 안에있는 함수 안에'fs'를 사용하려고합니다. '''createNewUser (토큰) { //// fs.writefile을 사용하세요 .'''' – userMod2

+0

그래, 클래스 선언과 개봉 밖에서 넣어. 끝난. –

답변

0

const fs = require("fs"); 
class Useful { 
    someFunction(index) { 

    } 
} 

이 둘 사이의 중요한 차이를 theres

class Useful { 
    someFunction(index) { 
    const fs = require("fs"); 
    } 
} 

B : (A)에, FS마다로드한다 된 SomeFuncion가 호출을 . 이것은 성능에 좋지 않으며 실질적인 이점이 없습니다. 그러므로 B를 사용하십시오.

+0

감사합니다. 또한 나는'const nUser = require ('../helpers/ newUserCreator')'와 같은 것을 가지고있다. 그리고 newUserCreator 파일은 다음과 같다 : '''module.exports = { createNewUsers : function (numberOfAccountsToCreate) {.. ..}'''''createNewUsers' 함수를 올바르게 호출하는 방법 – userMod2

+0

@ userMod2 아마도'nUser.createNewUsers()'?! –

+0

node.js 모듈에서 한 번만로드되고 다른 모든 요구 사항은 캐시에서 가져옵니다. 그래서 A와 B 사이에는 단지 하나의 차이점이 있습니다. 첫 번째 경우 모듈은'someFunction'이 호출 될 때로드 될 것입니다. – alexmac

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에 대한 더 나은 대안입니다.

관련 문제