express.js(coffeescript)のstring、intなどのジェネリック型にいくつかのメソッドを追加したいと思います。私はノードで完全に新しいです。私はこれをやりたい:
"Hi all !".permalink().myMethod(some).myMethod2();
5.doSomething();
variable.doSomethingElse();
これを行う方法 ?
express.js(coffeescript)のstring、intなどのジェネリック型にいくつかのメソッドを追加したいと思います。私はノードで完全に新しいです。私はこれをやりたい:
"Hi all !".permalink().myMethod(some).myMethod2();
5.doSomething();
variable.doSomethingElse();
これを行う方法 ?
次のコマンドを使用して、Stringプロトタイプにメソッドを追加できます。
String::permaLink = ->
"http://somebaseurl/archive/#{@}"
String::permalink
の省略形ですString.prototype.permaLink
その後、次のことができます。
somePermalink = "some-post".permaLink()
console.log somePermalink.toUpperCase()
これにより、「this」が「some-post」文字列に設定された「String.prototype.permaLink」関数が呼び出されます。次に、permaLink関数は、「this」(@
Coffeescript内)の文字列値が最後に含まれる新しい文字列を作成します。Coffeescriptは関数の最後の式の値を自動的に返すため、permaLinkの戻り値は新しく作成された文字列です。
次に、上記の手法を使用して自分で定義した他のメソッドを含め、文字列に対して他のメソッドを実行できます。この例では、組み込みのStringメソッドであるtoUpperCaseを呼び出します。
プロトタイプを使用して、Stringまたはintオブジェクトを新しい関数で拡張できます
String.prototype.myfunc= function () {
return this.replace(/^\s+|\s+$/g, "");
};
var mystring = " hello, world ";
mystring.myfunc();
'hello, world'