Skip to content

Commit ce4fc84

Browse files
authored
Merge pull request #97 from mkwtys/fix-code
fix code
2 parents 2bf7f58 + 5fd82af commit ce4fc84

36 files changed

+68
-68
lines changed

docs/classes-emit.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,20 @@ var __extends = this.__extends || function (d, b) {
5555
ここで `d`は派生クラスを指し、`b`はベースクラスを指します。この関数は2つのことを行います:
5656

5757
1. 親クラスの静的メンバを子クラスにコピーする:`for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];`
58-
1. 子クラス関数のプロトタイプを準備し、任意に親の`proto`のメンバを検索できるようにする。つまり、`d.prototype.__ proto__ = b.prototype`を実現する
58+
1. 子クラス関数のプロトタイプを準備し、任意に親の`proto`のメンバを検索できるようにする。つまり、`d.prototype.__proto__ = b.prototype`を実現する
5959

6060
1を理解するのに苦労する人はほとんどいませんが、2については多くの人が理解に苦労します。なので順番に説明します。
6161

62-
#### `d.prototype .__ proto__ = b.prototype`
62+
#### `d.prototype.__proto__ = b.prototype`
6363

64-
これについて多くの人を教えた結果、次のような説明が最もシンプルだと分かりました。まず、`__extends`のコードが、単純な`d.prototype .__ proto__ = b.prototype`とどうして同じなのか、そしてなぜ、この行それ自体が重要であるのかを説明します。これをすべて理解するためには、これらのことを理解する必要があります:
64+
これについて多くの人を教えた結果、次のような説明が最もシンプルだと分かりました。まず、`__extends`のコードが、単純な`d.prototype.__proto__ = b.prototype`とどうして同じなのか、そしてなぜ、この行それ自体が重要であるのかを説明します。これをすべて理解するためには、これらのことを理解する必要があります:
6565

6666
1. `__proto__`
6767
1. `prototype`
6868
1. `new`の関数の内側の`this`に対する効果
6969
1. `new``prototype``__proto__`に対する効果
7070

71-
JavaScriptのすべてのオブジェクトは `__proto__`メンバを含んでいます。このメンバは古いブラウザではアクセスできないことがよくあります(ドキュメントでは、この魔法のプロパティを `[[prototype]]`と呼ぶことがあります)。それは1つの目的を持っています:検索しているプロパティがオブジェクトに見つからない場合(例えば `obj.property`)、`obj .__ proto __.property`を検索します。それでもまだ見つからなければ、 `obj .__ proto __.__ proto __.property`を検索します: それが見つかるか、最後の`.__ proto__`自体が`null`となるまで続きます。これは、JavaScriptが*プロトタイプ継承*(prototypal inheritance)をサポートしていることを説明しています。次の例でこれを示します。chromeコンソールまたはNode.jsで実行することが可能です。
71+
JavaScriptのすべてのオブジェクトは `__proto__`メンバを含んでいます。このメンバは古いブラウザではアクセスできないことがよくあります(ドキュメントでは、この魔法のプロパティを `[[prototype]]`と呼ぶことがあります)。それは1つの目的を持っています:検索しているプロパティがオブジェクトに見つからない場合(例えば `obj.property`)、`obj.__proto__.property`を検索します。それでもまだ見つからなければ、 `obj.__proto__.__proto__.property`を検索します: それが見つかるか、最後の`.__proto__`自体が`null`となるまで続きます。これは、JavaScriptが*プロトタイプ継承*(prototypal inheritance)をサポートしていることを説明しています。次の例でこれを示します。chromeコンソールまたはNode.jsで実行することが可能です。
7272

7373
```ts
7474
var foo = {}
@@ -121,11 +121,11 @@ console.log(foo.__proto__ === Foo.prototype); // True!
121121
3 d.prototype = new __();
122122
```
123123

124-
この関数を逆から見ると、3行目の`d.prototype = new __()`は、 `d.prototype = {__proto____.prototype}`を意味します(`prototype``__proto__`に対する`new`の効果によるものです)。それを2行目(`__.prototype = b.prototype;`)と組み合わせると、`d.prototype = {__proto__b.prototype}`となります。
124+
この関数を逆から見ると、3行目の`d.prototype = new __()`は、 `d.prototype = {__proto__ : __.prototype}`を意味します(`prototype``__proto__`に対する`new`の効果によるものです)。それを2行目(`__.prototype = b.prototype;`)と組み合わせると、`d.prototype = {__proto__ : b.prototype}`となります。
125125

126-
しかし、待ってください。私達は、単に`d.prototype.__proto__`が変更され、`d.prototype.constructor`は、それまで通り維持されることを望んでいました。そこで重要な意味があるのが、最初の行(`function __(){this.constructor = d;}`)です。これは`d.prototype = {__proto____.prototype, constructord}`を実現できます(これは関数の内側の`this`に対する`new`による効果のためです)。したがって`d.prototype.constructor`を復元しているので、我々が変更したものは、`__proto__`たった1つだけであり、それゆえ`d.prototype.__proto__ = b.prototype`となります。
126+
しかし、待ってください。私達は、単に`d.prototype.__proto__`が変更され、`d.prototype.constructor`は、それまで通り維持されることを望んでいました。そこで重要な意味があるのが、最初の行(`function __() { this.constructor = d; }`)です。これは`d.prototype = {__proto__ : __.prototype, constructor : d}`を実現できます(これは関数の内側の`this`に対する`new`による効果のためです)。したがって`d.prototype.constructor`を復元しているので、我々が変更したものは、`__proto__`たった1つだけであり、それゆえ`d.prototype.__proto__ = b.prototype`となります。
127127

128-
#### `d.prototype.__ proto__ = b.prototype`の意味
128+
#### `d.prototype.__proto__ = b.prototype`の意味
129129

130130
これを行うことによって、子クラスにメンバ関数を追加しつつ、その他のメンバは基本クラスから継承することができます。次の簡単な例で説明します:
131131

@@ -141,4 +141,4 @@ var bird = new Bird();
141141
bird.walk();
142142
bird.fly();
143143
```
144-
基本的に`bird.fly``bird.__ proto __.fly`(`new``bird.__proto__``Bird.prototype`を指すようにすることを思い出してください)から検索され、`bird.walk`(継承されたメンバー)は`bird.__proto__.__proto__.walk`から検索されます(`bird.__proto__ == Bird.prototype`、そして、`bird.__proto __.__proto__` == `Animal.prototype`です)。
144+
基本的に`bird.fly``bird.__proto__.fly`(`new``bird.__proto__``Bird.prototype`を指すようにすることを思い出してください)から検索され、`bird.walk`(継承されたメンバー)は`bird.__proto__.__proto__.walk`から検索されます(`bird.__proto__ == Bird.prototype`、そして、`bird.__proto__.__proto__` == `Animal.prototype`です)。

docs/classes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class Foo {
142142
}
143143
}
144144
```
145-
これはTypeScriptの省略形を使うことができる一般的なパターンです。メンバにアクセス修飾子を付けることができ、それが自動的にクラス内に宣言され、コンストラクタからコピーされます。なので、前の例は次のように書き直すことが可能です(`public xnumber`に注目してください):
145+
これはTypeScriptの省略形を使うことができる一般的なパターンです。メンバにアクセス修飾子を付けることができ、それが自動的にクラス内に宣言され、コンストラクタからコピーされます。なので、前の例は次のように書き直すことが可能です(`public x:number`に注目してください):
146146

147147
```ts
148148
class Foo {

docs/compiler/ast.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ASTノードのドキュメントを構成するものは、2つのキーと
55

66
いくつかの主要な `interface Node`のメンバがあります:
77
* ソースファイル内のノードの`start``end`を識別する`TextRange`メンバ
8-
* ASTの中でノードの親となる`parent ?: Node`
8+
* ASTの中でノードの親となる`parent?: Node`
99

1010
`Node`のフラグと修飾子のために、いくつか他のメンバがあります。あなたはソースコード中で`interface Node`を検索することで見つけることができます。しかし、上記で言及したものは、ノードトラバーサル(node traversal)のために不可欠です。
1111

docs/compiler/binder-declarations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
### SymbolとDeclaration
22
`node``symbol`の間のリンクは、いくつかの関数によって実行されます。ある1つの関数は、`SourceFile`NodeをSource File Symbolにバインドするために使われます。それは、`addDeclarationToSymbol`関数です。
33

4-
注:外部モジュールソースファイルの`Symbol``flags SymbolFlags.ValueModule``name '"' + removeFileExtension(file.fileName) + '"'`)としてセットアップされています。
4+
注:外部モジュールソースファイルの`Symbol``flags : SymbolFlags.ValueModule``name: '"' + removeFileExtension(file.fileName) + '"'`)としてセットアップされています。
55

66
```ts
77
function addDeclarationToSymbol(symbol: Symbol, node: Declaration, symbolFlags: SymbolFlags) {

docs/compiler/checker-global.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ forEach(host.getSourceFiles(), file => {
1010
});
1111
```
1212

13-
これは基本的にすべての`global`Symbolを`let globalsSymbolTable = {};`(`createTypeChecker`にあります)SymbolTableにマージします。`mergeSymbolTable`は主に`mergeSymbol`を呼び出します。
13+
これは基本的にすべての`global`Symbolを`let globals: SymbolTable = {};`(`createTypeChecker`にあります)SymbolTableにマージします。`mergeSymbolTable`は主に`mergeSymbol`を呼び出します。

docs/compiler/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ TypeScriptコンパイラには、これらの主要部分にユーティリテ
5252
## File: Utilities
5353
`core.ts`:TypeScriptコンパイラが使うコアユーティリティ。いくつか重要なもの:
5454

55-
* `let objectAllocatorObjectAllocator`:シングルトンのグローバルとして定義された変数です。それは、`getNodeConstructor`(Nodeは`parser`/`AST`を見るときに扱います)、`getSymbolConstructor`(シンボルは`binder`のときに扱います)、`getTypeConstructor`(型は`checker`で扱います)、 `getSignatureConstructor`(シグネチャはインデックス、シグネチャの呼び出しと構成物です)。
55+
* `let objectAllocator: ObjectAllocator`:シングルトンのグローバルとして定義された変数です。それは、`getNodeConstructor`(Nodeは`parser`/`AST`を見るときに扱います)、`getSymbolConstructor`(シンボルは`binder`のときに扱います)、`getTypeConstructor`(型は`checker`で扱います)、 `getSignatureConstructor`(シグネチャはインデックス、シグネチャの呼び出しと構成物です)。
5656

5757
## File: 主要なデータ構造
5858
`types.ts`には、コンパイラ全体で使用される、主要なデータ構造とインタフェースがあります。いくつかの重要なサンプルの抜粋です:

docs/compiler/parser-functions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ function parseEmptyStatement(): Statement {
2424
これは、3つの重要な関数`createNode``parseExpected``finishNode`を示しています。
2525

2626
#### `createNode`
27-
Parserの`createNode`関数`function createNode(kindSyntaxKind、pos ?: number)Node`はノードの作成、渡されたときの`SyntaxKind`のセットアップ、渡された場合の初期位置の設定(または、現在のスキャナの位置を使います)を行います。
27+
Parserの`createNode`関数`function createNode(kind: SyntaxKind, pos?: number): Node`はノードの作成、渡されたときの`SyntaxKind`のセットアップ、渡された場合の初期位置の設定(または、現在のスキャナの位置を使います)を行います。
2828

2929
#### `parseExpected`
30-
Parserの`parseExpected`関数`function parseExpected(kindSyntaxKind、diagnosticMessage ?: DiagnosticMessage)boolean`は、Parserの状態に含まれる現在のトークンが目的の`SyntaxKind`と一致することをチェックします。そうでなければ、送られた`diagnosticMessage`を報告するか、`foo expected`の形式の一般的なものを作成します。これは内部的に`parseErrorAtPosition`関数(スキャン位置を使用します)を使用して良いエラー報告を行います。
30+
Parserの`parseExpected`関数`function parseExpected(kind: SyntaxKind, diagnosticMessage?: DiagnosticMessage): boolean`は、Parserの状態に含まれる現在のトークンが目的の`SyntaxKind`と一致することをチェックします。そうでなければ、送られた`diagnosticMessage`を報告するか、`foo expected`の形式の一般的なものを作成します。これは内部的に`parseErrorAtPosition`関数(スキャン位置を使用します)を使用して良いエラー報告を行います。
3131

3232
### `finishNode`
33-
Parserの`finishNode`関数`function finishNode <T extends Node>(node:T、end ?:: number)T`はNodeの`end`位置や、`parserContextFlags`のように便利なモノを設定します。これは、このNodeを解析する前にエラーがあったとしても、同じようにパースされます(その場合、インクリメンタルパーシングでこのASTノードを再利用できません)。
33+
Parserの`finishNode`関数`function finishNode<T extends Node>(node: T, end?: number): T`はNodeの`end`位置や、`parserContextFlags`のように便利なモノを設定します。これは、このNodeを解析する前にエラーがあったとしても、同じようにパースされます(その場合、インクリメンタルパーシングでこのASTノードを再利用できません)。

docs/compiler/program.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ OEとの相互作用メカニズムを示します:
1414

1515
### ソースファイル
1616

17-
programは、ソースファイルを取得するためのAPI`getSourceFiles():SourceFile [];`を提供します。それぞれは、ASTのルートレベルのノード(`SourceFile`と呼ばれます)として表されます。
17+
programは、ソースファイルを取得するためのAPI`getSourceFiles(): SourceFile[];`を提供します。それぞれは、ASTのルートレベルのノード(`SourceFile`と呼ばれます)として表されます。

docs/generators.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ while (true) {
2222
}
2323
```
2424

25-
もちろんイテレータが終了した場合は、以下に示すように`{donetrue}`の結果を得られます。
25+
もちろんイテレータが終了した場合は、以下に示すように`{ done: true }`の結果を得られます。
2626

2727
```ts
2828
function* idMaker(){

docs/jsx/others.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
TypeScriptは、React with JSX以外のものをタイプセーフな方法で使用する機能を提供します。以下は、カスタマイズ可能なポイントを示していますが、これは高度なUIフレームワークの作成者向けです。
44

5-
* `"jsx" "preserve"`オプションを使って`react`形式の出力を無効にすることができます。これは、JSXが*そのままの状態で*出力されることを意味します。そして、あなた自身のカスタムトランスパイラを使用してJSX部分をトランスパイルすることができます
5+
* `"jsx" : "preserve"`オプションを使って`react`形式の出力を無効にすることができます。これは、JSXが*そのままの状態で*出力されることを意味します。そして、あなた自身のカスタムトランスパイラを使用してJSX部分をトランスパイルすることができます
66
* `JSX`グローバルモジュールを使う:
77
* `JSX.IntrinsicElements`インターフェースのメンバをカスタマイズすることで、どのHTMLタグが利用可能で、どのように型チェックされるかを制御することができます。
88
    * コンポーネントを使用する場合:
9-
        *デフォルトの`Interface ElementClass extends React.Component <any any> {}`宣言をカスタマイズすることによって、どのクラスがコンポーネントによって継承されなければならないかを制御できます
10-
* どのプロパティが属性(デフォルトは`props`)の型チェックに使われるかを制御できます。`declare module JSX {interface ElementAttributesProperty {props{};}`の宣言をカスタマイズすることで行います。
9+
        *デフォルトの`interface ElementClass extends React.Component<any, any> { }`宣言をカスタマイズすることによって、どのクラスがコンポーネントによって継承されなければならないかを制御できます
10+
* どのプロパティが属性(デフォルトは`props`)の型チェックに使われるかを制御できます。`declare module JSX { interface ElementAttributesProperty { props: {}; } }`の宣言をカスタマイズすることで行います。
1111

1212
## `jsxFactory`
1313

14-
`--jsxFactory <JSX factory name>``--jsx react`を一緒に渡すことで、デフォルトの`React`とは別のJSXファクトリを使うことができます。
14+
`--jsxFactory <JSX factory Name>``--jsx react`を一緒に渡すことで、デフォルトの`React`とは別のJSXファクトリを使うことができます。
1515

1616
新しいファクトリ名は`createElement`関数を呼び出すために使われます。
1717

docs/jsx/react.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
私たちの[ブラウザ向けのクイックスタートに、すでにReactアプリケーションの開発のセットアップの仕方を説明しています](../quick/browser.md)。主なハイライトは次の通りです。
88

99
* ファイル拡張子`.tsx`(`.ts`の代わりに)を使用してください。
10-
* あなたの`tsconfig.json``compilerOptions`で `"jsx" "react"を使ってください。
10+
* あなたの`tsconfig.json``compilerOptions``"jsx" : "react"`を使ってください。
1111
* JSXとReactの定義をあなたのプロジェクトにインストールします:(`npm i -D @types/react @types/react-dom`)。
1212
* reactを`.tsx`ファイルにインポートします(`import * as React from "react"`となります)。
1313

docs/jsx/tsx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ JSXの背景にある動機は、ユーザーがHTMLのようなビューをJava
88

99
* あなたのJavaScriptと同じようにビューの型チェックをすること
1010
* ビューを操作するコンテキストを認識させる(つまり、従来のMVCでの*controller-view*の接続を強化する)。
11-
* HTMLのメンテナンスに、JavaScriptパターン(`Array.prototype.map``?: ``switch`など)を(新しい代替(おそらくほとんど型付けされない)を作成する代わりに)再利用する。
11+
* HTMLのメンテナンスに、JavaScriptパターン(`Array.prototype.map``?:``switch`など)を(新しい代替(おそらくほとんど型付けされない)を作成する代わりに)再利用する。
1212

1313
これにより、エラーの可能性が減り、ユーザーインターフェースの保守性が向上します。現時点でのJSXの主なユーザは[ReactJS from facebook](http://facebook.github.io/react/)です。ここではJSXの使い方について説明します。

docs/options/strictNullChecks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ interface Member {
2626
}
2727
```
2828

29-
全ての`メンバー`が彼らの年齢を提供するわけではないので、`age`はオプションのプロパティです。 `age`の値は`undefined`かもしれません。
29+
全ての`Member`が彼らの年齢を提供するわけではないので、`age`はオプションのプロパティです。 `age`の値は`undefined`かもしれません。
3030

3131
`undefined`はすべての悪の根です。ランタイムエラーが発生することがよくあります。実行時に`Error`をスローするコードを書くのは簡単です:
3232

0 commit comments

Comments
 (0)