TypeScript は次のように述べています。
タイプ ' ' の値にプロパティ '
$1
' が存在しません{ (pattern: string, flags?: string): RegExp; new(pattern: string, flags?: string): RegExp; }
タイプは、 TypeScript 0.8.2lib.d.ts
に付属する定義を見ることで説明できます。
interface RegExp {
/**
* Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search.
* @param string The String object or string literal on which to perform the search.
*/
exec(string: string): RegExpExecArray;
/**
* Returns a Boolean value that indicates whether or not a pattern exists in a searched string.
* @param string String on which to perform the search.
*/
test(string: string): bool;
/** Returns a copy of the text of the regular expression pattern. Read-only. The rgExp argument is a Regular expression object. It can be a variable name or a literal. */
source: string;
/** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */
global: bool;
/** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */
ignoreCase: bool;
/** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */
multiline: bool;
lastIndex: number;
}
declare var RegExp: {
new (pattern: string, flags?: string): RegExp;
(pattern: string, flags?: string): RegExp;
}
RegExp.$1
私の質問は、これを変更/更新して、、などを参照できるようにするにはどうすればよいRegExp.$2
ですか? 直接編集するつもりはないので、できれば個別に宣言できるものlib.d.ts
(更新されると置き換えられる可能性が高い)
私はこれを無駄にしようとしました:
declare var RegExp: {
new (pattern: string, flags?: string): RegExp;
(pattern: string, flags?: string): RegExp;
$1: any;
$2: any;
$3: any;
$4: any;
$5: any;
$6: any;
$7: any;
$8: any;
$9: any;
}
string
実際には型で宣言する必要があると思います。ただし、いずれにせよ、エラーは削除されません。
これに加えて、これが正確に何を意味するのかについても興味があります (なぜ ? ありとなしで宣言されているのnew
ですか?):
new (pattern: string, flags?: string): RegExp;
(pattern: string, flags?: string): RegExp;