Skip to content

Commit 04df549

Browse files
committed
build after PR merge, add contributors guide, list
1 parent ff45c51 commit 04df549

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+248
-83
lines changed

CONTRIBUTING.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# 貢献者向けガイド
2+
3+
Typoなどを見つけた方はPull Requestで報告してくださると助かります。
4+
5+
* 原稿のreSTだけ修正すればOKです。HTML/PDFのビルドまでは不要です。
6+
* contributors.rstにgithubのアカウント名を掲載させていただきます(不要な場合はお知らせ下さい)。
7+
8+
内容への指摘で、修正の仕方がわからない場合はissueとして報告をお願いします。

contributors.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
貢献者
2+
===========
3+
4+
5+
Pull Requestをくださった方々
6+
-----------------------------------
7+
8+
* @called-d
9+
* @tkihira
10+
* @kaakaa

docs/.doctrees/async.doctree

72 Bytes
Binary file not shown.

docs/.doctrees/baseenv.doctree

0 Bytes
Binary file not shown.

docs/.doctrees/class.doctree

0 Bytes
Binary file not shown.

docs/.doctrees/clienv.doctree

0 Bytes
Binary file not shown.

docs/.doctrees/complex.doctree

-9 Bytes
Binary file not shown.

docs/.doctrees/contributors.doctree

3.05 KB
Binary file not shown.

docs/.doctrees/ecosystem.doctree

0 Bytes
Binary file not shown.

docs/.doctrees/environment.pickle

2.12 KB
Binary file not shown.

docs/.doctrees/function.doctree

0 Bytes
Binary file not shown.

docs/.doctrees/index.doctree

3.44 KB
Binary file not shown.

docs/.doctrees/preface.doctree

-18 Bytes
Binary file not shown.

docs/.doctrees/primitive.doctree

0 Bytes
Binary file not shown.

docs/.doctrees/reactenv.doctree

-6 Bytes
Binary file not shown.

docs/_sources/async.rst.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ JavaScriptでは時間のかかる処理を実行する場合、完了した後
108108
初めて見ると面食らうかもしれませんが、慣れてくるとコールバックよりも流れは追いやすいでしょう。
109109

110110
この ``Promise`` がJavaScript標準の方法として決定されると、さらなる改善のために\ ``await``\ という新しいキーワードが導入されました。
111-
これは ``Promise`` を使ったコードの、 ``then()`` 節の中だけを並べたのとほぼ透過になります
111+
これは ``Promise`` を使ったコードの、 ``then()`` 節の中だけを並べたのとほぼ等価になります
112112
それにより、さらにフラットに書けるようになりましたし、行数も半分になります。
113113
内部的には、\ ``await``\ はまったく新しい機構というわけではなく、\ ``Promise``\ を扱いやすくする糖衣構文で、\ ``then()``\ を呼び出し、その引数で渡される値が関数の返り値となるように動作します。
114114
``Promise`` 対応のコードを書くのと、 ``await`` 対応のコードを書くのは差がありません。
@@ -232,15 +232,15 @@ TypeScriptで提供されている ``if`` や ``for`` 、 ``while`` などは関
232232
return new 味噌汁();
233233
}
234234
235-
async function ご飯(): Promise<ご飯> {
235+
async function ご飯温め(): Promise<ご飯> {
236236
await 電子レンジ();
237237
return new ご飯();
238238
}
239239
240-
const [a味噌汁, aご飯] = await Promise.all([味噌汁(), ご飯()]);
240+
const [a味噌汁, aご飯] = await Promise.all([味噌汁温め(), ご飯温め()]);
241241
いただきます(a味噌汁, aご飯);
242242
243-
``味噌汁()`` と ``ご飯()`` は ``async`` がついた関数です。
243+
``味噌汁温め()`` と ``ご飯温め()`` は ``async`` がついた関数です。
244244
省略可能ですがあえて返り値に ``Promise`` をつけています。
245245
これまでの例では、 ``async`` 関数を呼ぶ時には ``await`` をつけていました。
246246
``await`` をつけると、待った後の結果(ここでは味噌汁とご飯のインスタンス)が帰ってきます。

docs/_sources/baseenv.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ srcフォルダ以下に.tsファイルを入れて、出力先のフォルダ
111111
eslint-config-prettier npm-run-all
112112
113113
設定ファイルは以下のコマンドを起動すると雛形を作ってくれます。これを対象の成果物ごとに編集していきます。
114-
詳細は各パッケージの種類の賞で取り扱います
114+
詳細は各パッケージの種類の章で取り扱います
115115

116116
.. code-block:: bash
117117

docs/_sources/class.rst.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ TypeScriptにはC++やJavaのような ``private`` と ``protected`` 、 ``publi
122122
----------------------------------------------------
123123

124124
TypeScript固有の書き方になりますが、コンストラクタ関数にアクセス制御の装飾子をつけると、それがそのままプロパティになります。
125-
コンストラクタの引数をそのまま同盟のプロパティに代入します
125+
コンストラクタの引数をそのまま同名のプロパティに代入します
126126

127127
.. code-block:: ts
128128
:caption: プロパティ定義をコンストラクタ変数に
@@ -211,7 +211,7 @@ Javaと違って、すべての要素をクラスで包む必要はないため
211211
console.log(Point.polar(10, Math.PI * 0.25));
212212
213213
静的なプロパティを使いすぎると、複製できないクラスになってしまい、テストなどがしにくくなります。
214-
あまり多様することはないでしょう
214+
あまり多用することはないでしょう
215215

216216
インスタンスクラスフィールド
217217
----------------------------------------------------
@@ -482,7 +482,7 @@ Javaとかでよく使われるユースケースは、 ``private`` でメンバ
482482
継承とかオブジェクト指向設計とか方法論とかメソッドはメッセージで云々とか語り出すと大抵炎上するのがオブジェクト指向とかクラスの説明の難しいところです。
483483
これらの機能は、言語の文化とか、他の代替文法の有無とかで使われ方が大きく変わってきます。
484484

485-
TypeScript界隈では、Angularなどのフレームワークではインタフェースが多様されています
485+
TypeScript界隈では、Angularなどのフレームワークではインタフェースが多用されています
486486
ユーザーが実装するコンポーネントなどのクラスにおいて、Anguarが提供するサービスを受けるためのメソッドの形式が決まっていて、実装部分の中身をライブラリユーザーが実装するといった使われ方をしています。
487487
``OnInit`` をimplementsすると、初期化時に呼び出されるといった具合です。
488488

@@ -566,7 +566,7 @@ TypeScriptではtsconfig.jsonの\ ``compilerOptions.experimentalDecorators``\
566566
一般的なクラスの機能を備えた上で、型チェックも行われ、さらにデコレータなど追加機能なども含まれました。
567567
TypeScriptの場合は、エディタによるコード補完の正答率が大幅に上がったりしてリターンが大きいため、生産性の高まりを感じられるでしょう。
568568

569-
いろいろと機能は多いですが、TypeScriptでは、あまりクラスの細かい機能を多様するコーディングは行われていません
569+
いろいろと機能は多いですが、TypeScriptでは、あまりクラスの細かい機能を多用するコーディングは行われていません
570570
そのため、本章で取り上げた機能のうち、使わない機能も多いはずです。
571571
ちょっとしたロジックが書ける(バリデーションなど)構造体、といった感じで使われることがほとんどでしょう。
572572
最重要なところをピックアップするとしたら次のあたりです。
@@ -589,7 +589,7 @@ TypeScriptの場合は、エディタによるコード補完の正答率が大
589589

590590
次の機能をTypeScriptで駆使するようになったら警戒しましょう。
591591
まず、2段、3段、4段と続くような深い継承になるようなコードを書くことはないでしょう。
592-
``private`` はともかく継承を前提とする ``protected`` 、抽象クラスを多様するような複雑なクラス設計がでてきたら、アプリケーションコードレベルではほぼ間違いだと思います。
592+
``private`` はともかく継承を前提とする ``protected`` 、抽象クラスを多用するような複雑なクラス設計がでてきたら、アプリケーションコードレベルではほぼ間違いだと思います。
593593
もしかしたら、DOMに匹敵するような大規模なクラスライブラリを作るのであれば、抽象クラスだとか ``protected`` も活躍するかもしれませんが、ほぼ稀でしょう。
594594
せいぜいインタフェースを定義して、特定のメソッドを持っていたら仲間とみなす、ぐらいのダックタイピングとクラス指向の中間ぐらいがTypeScriptのスイートスポットだと思います。
595595

docs/_sources/clienv.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Node.jsの機能を使うことになるため、Node.jsのAPIの型定義ファ
3434
@types/source-map-support
3535
3636
TypeScriptのビルド設定のポイントは、ブラウザからは使わないので、ターゲットのバージョンを高くできる点にあります。
37-
ローカルでは安定板を使ったとしてもNode.js 10が使えるでしょう。
37+
ローカルでは安定版を使ったとしてもNode.js 10が使えるでしょう。
3838

3939
ライブラリのときとは異なり、成果物を利用するのはNode.jsの処理系だけなので、.d.tsファイルを生成する必要はありません。
4040

docs/_sources/complex.rst.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
配列
88
-----------------------------
99

10-
配列はTypeScriptの中でかなり多様されるリテラルですが、スプレッド構文、分割代入などが加わり、また、数々のメソッドを駆使することで、関数型言語のような書き方もできます。
10+
配列はTypeScriptの中でかなり多用されるリテラルですが、スプレッド構文、分割代入などが加わり、また、数々のメソッドを駆使することで、関数型言語のような書き方もできます。
1111
配列は、次に紹介するオブジェクトと同様、リテラルで定義できる複合型の1つです。
1212

1313
.. code-block:: ts
@@ -137,7 +137,7 @@ C言語由来のループは昔からあるものですがループ変数が必
137137
``forEach()``\ はその後ES5で追加されましたが、その後は言語仕様のアップデートとともに\ ``for ... of``\ 構文が追加されました。
138138
この構文は\ ``Array``\ , \ ``Set``\ , \ ``Map``\ \ ``String``\ などの繰り返し可能(iterable)オブジェクトに対してループします。
139139
配列の場合で、インデックス値が欲しい場合は、\ ``entries()``\ メソッドを使います。
140-
関数型主義的なスタイルで統一するために、\ ``for ... of``\ を禁止して\ ``forEach()``\ のみを使うというコーディング標準を規定している会社もあります(AirBnB)。
140+
関数型主義的なスタイルで統一するために、\ ``for ... of``\ を禁止して\ ``forEach()``\ のみを使うというコーディング標準を規定している会社もあります(Airbnb)。
141141

142142
.. code-block:: ts
143143
@@ -190,7 +190,7 @@ iterableとイテレータ
190190
この ``next()`` は、配列の要素と、終了したかどうかの boolean値を返します。
191191
イテレータ(厳密には外部イテレータと呼ばれる)はJavaやPython、C++ではおなじみのものです。
192192

193-
上記の ``b`` のように全部の要素を持つ二重配列を作ってしまえばこのようなイテレータというものは必要ありませんが、その場合、要素数が多くなればなるほど、コピーに時間がかかってループが回る前の準備が遅くなる、という欠点を抱えることになります。そのため、このイテレータという要素を返すオブジェクトをつかい、全コピーを防いでいます。
193+
上記の ``b`` のように全部の要素を持つ二重配列を作ってしまえばこのようなイテレータというものは必要ありませんが、その場合、要素数が多くなればなるほど、コピーに時間がかかってループが回る前の準備が遅くなる、という欠点を抱えることになります。そのため、このイテレータという要素を返すオブジェクトを使い、全コピーを防いでいます。
194194

195195
オブジェクにループの要素を取り出すメソッド(\ ``@@iterator``\ )があるオブジェクトはiterableなオブジェクトです。
196196
繰り返し処理に対する約束事なので「iterableプロトコル」と呼ばれます。

docs/_sources/contributors.rst.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
貢献者
2+
===========
3+
4+
5+
Pull Requestをくださった方々
6+
-----------------------------------
7+
8+
* @called-d
9+
* @tkihira
10+
* @kaakaa

docs/_sources/ecosystem.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ ts-nodeを気軽に試すREPL(1行ごとに実行されるインタプリタ
170170
TypeScriptの環境設定
171171
------------------------
172172

173-
TypeScriptを使うには、いくつか設定が必要です。JavaScript系のツールのビルどは大きく分けて、2つのフェーズがあります。
173+
TypeScriptを使うには、いくつか設定が必要です。JavaScript系のツールのビルドは大きく分けて、2つのフェーズがあります。
174174

175175
* コンパイル: TypeScriptや最新のJavaScript文法で書かれたコードを、実行環境にあわせたJavaScriptに変換
176176
* バンドル: ソースコードは通常、整理しやすいクラスごと、コンポーネントごとといった単位で分けて記述します。配布時には1ファイルにまとめてダウンロードの高速化、無駄な使われてないコードの排除が行われます。

docs/_sources/function.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
JavaScriptでは、やっかいなのが\ ``this``\ です。無名関数をコールバック関数に渡そうとすると、\ ``this``\ がわからなくなってしまう問題があります。
1010
アロー関数を使うと、その関数が定義された場所の\ ``this``\ の保持までセットで行いますので、無名関数の\ ``this``\ 由来の問題をかなり軽減できます。
11-
表記も短いため、コードの幅も短くなり、コールバックを多様するところで ``function`` という長いキーワードが頻出するのを減らすことができます。
11+
表記も短いため、コードの幅も短くなり、コールバックを多用するところで ``function`` という長いキーワードが頻出するのを減らすことができます。
1212

1313
.. code-block:: ts
1414
:caption: アロー関数

docs/_sources/index.rst.txt

+5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010

1111
本ドキュメントは、まだ未完成ですが、ウェブフロントエンドの開発を学ぶときに、JavaScriptを経由せずに、最初からTypeScriptで学んでいく社内向けコンテンツとして作成されはじめました。基本の文法部分以外はまだ執筆されていない章もいくつもあります。書かれている章もまだまだ内容が追加される可能性がありますし、環境の変化で内容の変更が入る可能性もあります。
1212

13+
書籍の原稿はGitHub上で管理しております。もしTypoを見つけてくださった方がいらっしゃいましたら、 `GitHub上で連絡 <https://github.com/future-architect/typescript-guide/pulls>`_ をお願いします [#]_ 。reSTファイルだけ修正してもらえれば、HTML/PDFの生成までは不要です。フィードバックなども歓迎しております。
14+
15+
.. [#] https://github.com/future-architect/typescript-guide/pulls
16+
1317
.. raw:: html
1418

1519
<p><a href="./typescript-guide.pdf">PDF版をダウンロード</a></p>
@@ -68,6 +72,7 @@
6872
:caption: Appendix
6973

7074
recommended
75+
contributors
7176

7277
.. todolist::
7378

docs/_sources/preface.rst.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
------------------------------------
2727

2828
フロントエンドの開発がリッチになってきていると同時に、開発におけるムーブメントもあります。それはブラウザで動作するJavaScriptを直接書かなくなっているということです。
29-
JavaScriptは2015年より前は保守的なアップデートがおこなわれていました。Netscape社(現Mozilla)が開発し、企業間のコンソーシアムで当初仕様が策定されていました。クラスを導入するという大規模アップデートを一度は目指したものの(ECMAScript 4)、その時は頓挫しました。しかし、ECMAScript 2015時点でクラス大幅なアップデートが加えられ、よりオープンなコミュニティ、EC39で議論されるようになりました
29+
JavaScriptは2015年より前は保守的なアップデートがおこなわれていました。Netscape社(現Mozilla)が開発し、企業間のコンソーシアムで当初仕様が策定されていました。クラスを導入するという大規模アップデートを一度は目指したものの(ECMAScript 4)、その時は頓挫しました。しかし、ECMAScript 2015時点で大幅なアップデートが加えられ、よりオープンなコミュニティ、TC39で議論されるようになりました
3030

3131
しかし、ブラウザの組み込み言語である以上、サーバーアプリケーションのJavaやPythonのようにランタイムをアプリケーションに合わせて維持したり更新するといったことはできません。そのため、高度な文法を備える言語でコードを書き、トラディショナルなJavaScriptに変換するというアプローチが好まれるようになりました。CoffeeScriptなどが一時広く使われたものの、現在よく利用されているのはBabelとTypeScriptです。
3232

@@ -136,4 +136,4 @@ core-jsのオプションが知りたい場合は、core-jsのサイトのREADME
136136
.. [#] Google I/O 2019で、これが現時点の最新版と同じChrome 74に更新されることが発表されています。
137137
.. [#] http://kangax.github.io/compat-table/es6/
138138
.. [#] Lambdaは長らくNode.js 6というかなり古いバージョンを使っていましたが10が提供されて6はサポート終了になり、Node.js 6ベースのタスクの新規作成と更新ができなくなりました。
139-
.. [#] https://www.npmjs.com/package/core-js
139+
.. [#] https://www.npmjs.com/package/core-js

docs/_sources/primitive.rst.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* ``null``
1515

1616
このうち、それ以上分解できないシンプルなデータを「プリミティブ型」と呼びます。
17-
ここでは、よく出てくるプロミティブ型を紹介します
17+
ここでは、よく出てくるプリミティブ型を紹介します
1818

1919
``boolean`` リテラル
2020
---------------------
@@ -215,7 +215,7 @@ TypeScriptには組み込みで2種類の数値型があります。
215215
* ``|0`` を末尾につける
216216

217217
.. [#] 以前は ``Math.pow(x, y)`` という関数を使っていました。
218-
.. [#] ビット演算を多様する用途としては、遺伝子情報を高速に計算するのに使うFM-Indexといったアルゴリズムの裏で使われる簡潔データ構造と呼ばれるデータ構造があります。
218+
.. [#] ビット演算を多用する用途としては、遺伝子情報を高速に計算するのに使うFM-Indexといったアルゴリズムの裏で使われる簡潔データ構造と呼ばれるデータ構造があります。
219219
.. [#] ただし、ビット演算なので、本来扱えるよりもかなり小さい数字でしか正常に動作しません。
220220
221221
特殊な数値

docs/_sources/reactenv.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Next.js(React)の環境構築
2525
:
2626
Happy hacking!
2727
28-
なるべく、いろんなツールとの組み合わせの検証の手間を減らすために、Next.jsをつかいます
28+
なるべく、いろんなツールとの組み合わせの検証の手間を減らすために、Next.jsを使います
2929
JavaScriptは組み合わせが多くて流行がすぐに移り変わっていつも環境構築させられる(ように見える)とよく言われますが、組み合わせが増えても検証されてないものを一緒に使うのはなかなか骨の折れる作業で、結局中のコードまで読まないといけなかったりとか、環境構築の難易度ばかりが上がってしまいます。
3030
特にRouterとかすべてにおいて標準が定まっていないReactはそれが顕著です。
3131

0 commit comments

Comments
 (0)