のプライベートおよびパブリック変数を作るためにどのように私はPHP上のNode.js
private $varone;
public $varone;
がノードにvar varone;
ある変数の型を設定する方法のNode.js上でそのような変数を書くことができますは、PHP上private $varone;
同じですか?
のプライベートおよびパブリック変数を作るためにどのように私はPHP上のNode.js
private $varone;
public $varone;
がノードにvar varone;
ある変数の型を設定する方法のNode.js上でそのような変数を書くことができますは、PHP上private $varone;
同じですか?
まず、Javascriptには、変数の修飾語句private
とpublic
はありません。通常、変数へのアクセスは、スコープ内のコードだけにアクセスできる適切なスコープに定義または割り当てることによって、変数へのアクセスを制御します。
Node.jsのプログラミングは通常、モジュールで行われます。各モジュールはそれ自身のスコープを取得するので、モジュール内で定義された変数はそのモジュール内のコードでのみ使用できます。
他のモジュールと何かを共有するには、モジュールをインポートするすべてのユーザーが変数にアクセスできるように、変数または関数またはメソッドを通常はexport
とします。あるいは、これはほとんどのことを行う最善の方法ではありませんが、global
オブジェクトで変数をプロパティとして割り当て、そのnode.jsプロセス内のすべてのコードでglobal
オブジェクトを介してアクセスできます。
ので、典型的なNode.jsのモジュールは、次のようになります。
// mymodule.js
function doSomething(a, b) {
return a + b;
}
let total = 0;
function doSomethingElse(c, d) {
total += c * d;
}
// other code here that calls doSomethingElse()
module.exports = doSomething;
ので、このモジュールでは、すべての変数と関数がモジュールにプライベート、デフォルトでは、あります。したがって、doSomethingElse
とtotal
はモジュール専用です。関数doSomething
は、モジュールをロードするすべての人がその関数にアクセスできるように、特にエクスポートされます。モジュール内の
var doIt = require('./mymodule.js');
console.log(doIt(3, 4)); // 7
、あなたはまた、さらにさえモジュール内のアクセスを制限するために、サブスコープを作成することができる独自の関数を作成することができます。
javascriptにはパブリック変数とプライベート変数がありません。スコープを使って変数を並べ替えることはできますが、それは同じことではありません。 http://javascript.crockford.com/private.html –
リプレイのための@KevinBありがとうvar varone;ノード内では同じプライベート$ varoneです。 PHPで? –