このRegExp
オブジェクトは、extern es3.jsでClosure Compilerのアノテーションが付けられています。オブジェクトを受け取る関数の例を次に示します。RegExp
/**
* @param {RegExp} regex A regular expression object.
* @param {string} text Text to match.
* @return {string} The first match in text.
*/
var firstMatch = function(regex, text) {
var match = regex.exec(text);
return match[1];
};
var text = 'Where art thou?';
var regex = new RegExp('^\\W*(\\w+)\\b', 'g');
var firstWord = firstMatch(regex, text);
alert(firstWord); // displays "Where"
を使用して注釈を付けた同じ関数@type
:
/** @type {function(RegExp, string): string} */
var firstMatch = function(regex, text) {
var match = regex.exec(text);
return match[1];
};
デフォルトの外部
Closure Compiler には、es3.js、es5.js、es6.js などの
デフォルトの extern が含まれています。これらの externs ファイルは、通常、次のフラグが設定されていない限り、明示的に指定する必要はありません。
クロージャ コンパイラ アプリケーション:--use_only_custom_externs=true
Closure Compiler Service UI :@exclude_default_externs true
クロージャ コンパイラ サービス API :exclude_default_externs=true
追加の外部
デフォルトでは含まれていないcontrib/externsの下に利用可能な追加の externs があります。これらの extern は--externs
フラグで指定できます。