Skip to content

Commit 6418851

Browse files
committed
rebuild
1 parent 381c88f commit 6418851

File tree

8 files changed

+11
-11
lines changed

8 files changed

+11
-11
lines changed

docs/_sources/exception.rst.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,11 +384,11 @@ Node.jsで ``async`` / ``await`` やら ``Promise`` を一切使っていない
384384
例外処理機構以外で例外を扱う
385385
--------------------------------------
386386

387-
これまでTypeScriptにおける例外処理の方法や作法などを説明してきました。しかし、ベースとなっているJaavScriptの制約により、お世辞にも使いやすい機能とは言えません。理由は以下の3つです。
387+
これまでTypeScriptにおける例外処理の方法や作法などを説明してきました。しかし、ベースとなっているJavaScriptの制約により、お世辞にも使いやすい機能とは言えません。理由は以下の3つです。
388388

389389
* Javaの ``throws`` のように、メソッドがなげうる例外の種類がわからず、ソースの関数の実態やドキュメント(整備されていれば)を確認する必要がある
390-
* JavaやC++のように、 ``catch`` 節を複数書いて、型ごとの後処理を書くことができず、 ``insteadof`` を駆使してエラーの種類を見分けるコードを書く必要がある
391-
* ``Promise`` や ``async`` 関数で、何が ``reejct`` に渡されたり、どんな例外を投げるのかを型定義に書く方法がない
390+
* JavaやC++のように、 ``catch`` 節を複数書いて、型ごとの後処理を書くことができず、 ``instanceof`` を駆使してエラーの種類を見分けるコードを書く必要がある
391+
* ``Promise`` や ``async`` 関数で、何が ``reject`` に渡されたり、どんな例外を投げるのかを型定義に書く方法がない
392392

393393
例外に関しては、補完も効かないし、型のチェックも行えません。いっそのこと、例外処理機構を忘れてしまうのも手です。例外処理のないGoでは、関数の返り値の最後がエラーという規約でコードを書きます。
394394
TypeScriptでも、いくつか方法が考えられます。

docs/_sources/primitive.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ TypeScriptで数値計算を行う場合、 ``Math`` オブジェクトの関数
388388
// シングルクオート、ダブルクオート、バッククオートでくくる
389389
console.log('hello world');
390390
391-
// 変数に代入。変数の型名はboolean
391+
// 変数に代入。変数の型名はstring
392392
const name: string = "future";
393393
394394
// 複数行

docs/_sources/typing.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ JavaScriptは動的言語の中でも、いろいろ制約がゆるく、無名
3838
例えば、JSONSchemaを受け取るような引数があったら、JSONSchemaのすべての仕様を満たす型定義を記述するのはかなり時間を要します。
3939
将来やるにしても、まずはコンパイルだけは通したい、というときに使うと良いでしょう。
4040

41-
ただし、これを使うと、TypeScriptが提供する型チェックの恩恵は受けられません。\ ``any``\ から型情報つきのデータにするためには後述の型ガードや型アサーションで変換しなければなりません。利用する箇所で毎回必要になります。TypeScirptの型情報は伝搬するので、なるべく早めに、データが発生する場所で型情報を付ければ、変換が不要になります。そのため、よっぽどの理由がないかぎりは\ ``any``\ を使わない方がトータルの実装コストは大きく減ります。
41+
ただし、これを使うと、TypeScriptが提供する型チェックの恩恵は受けられません。\ ``any``\ から型情報つきのデータにするためには後述の型ガードや型アサーションで変換しなければなりません。利用する箇所で毎回必要になります。TypeScriptの型情報は伝搬するので、なるべく早めに、データが発生する場所で型情報を付ければ、変換が不要になります。そのため、よっぽどの理由がないかぎりは\ ``any``\ を使わない方がトータルの実装コストは大きく減ります。
4242

4343
それ以外だと、外部からやってくるデータなどはコンパイル時には型情報がわかりません。標準ライブラリのブラウザのサーバーアクセスAPIの\ ``fetch``\ のレスポンスは\ ``any``\ となっています。そのため、\ ``fetch``\ のレスポンスに関しては何かしらの変換処理が必要になります。
4444

docs/exception.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -567,11 +567,11 @@ <h2>例外処理のハンドリングの漏れ<a class="headerlink" href="#id8"
567567
</div>
568568
<div class="section" id="id9">
569569
<h2>例外処理機構以外で例外を扱う<a class="headerlink" href="#id9" title="このヘッドラインへのパーマリンク"></a></h2>
570-
<p>これまでTypeScriptにおける例外処理の方法や作法などを説明してきました。しかし、ベースとなっているJaavScriptの制約により、お世辞にも使いやすい機能とは言えません。理由は以下の3つです。</p>
570+
<p>これまでTypeScriptにおける例外処理の方法や作法などを説明してきました。しかし、ベースとなっているJavaScriptの制約により、お世辞にも使いやすい機能とは言えません。理由は以下の3つです。</p>
571571
<ul class="simple">
572572
<li><p>Javaの <code class="docutils literal notranslate"><span class="pre">throws</span></code> のように、メソッドがなげうる例外の種類がわからず、ソースの関数の実態やドキュメント(整備されていれば)を確認する必要がある</p></li>
573-
<li><p>JavaやC++のように、 <code class="docutils literal notranslate"><span class="pre">catch</span></code> 節を複数書いて、型ごとの後処理を書くことができず、 <code class="docutils literal notranslate"><span class="pre">insteadof</span></code> を駆使してエラーの種類を見分けるコードを書く必要がある</p></li>
574-
<li><p><code class="docutils literal notranslate"><span class="pre">Promise</span></code> や <code class="docutils literal notranslate"><span class="pre">async</span></code> 関数で、何が <code class="docutils literal notranslate"><span class="pre">reejct</span></code> に渡されたり、どんな例外を投げるのかを型定義に書く方法がない</p></li>
573+
<li><p>JavaやC++のように、 <code class="docutils literal notranslate"><span class="pre">catch</span></code> 節を複数書いて、型ごとの後処理を書くことができず、 <code class="docutils literal notranslate"><span class="pre">instanceof</span></code> を駆使してエラーの種類を見分けるコードを書く必要がある</p></li>
574+
<li><p><code class="docutils literal notranslate"><span class="pre">Promise</span></code> や <code class="docutils literal notranslate"><span class="pre">async</span></code> 関数で、何が <code class="docutils literal notranslate"><span class="pre">reject</span></code> に渡されたり、どんな例外を投げるのかを型定義に書く方法がない</p></li>
575575
</ul>
576576
<p>例外に関しては、補完も効かないし、型のチェックも行えません。いっそのこと、例外処理機構を忘れてしまうのも手です。例外処理のないGoでは、関数の返り値の最後がエラーという規約でコードを書きます。
577577
TypeScriptでも、いくつか方法が考えられます。</p>

docs/primitive.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ <h2><code class="docutils literal notranslate"><span class="pre">string</span></
659659
<span class="c1">// シングルクオート、ダブルクオート、バッククオートでくくる</span>
660660
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;hello world&#39;</span><span class="p">);</span>
661661

662-
<span class="c1">// 変数に代入。変数の型名はboolean</span>
662+
<span class="c1">// 変数に代入。変数の型名はstring</span>
663663
<span class="kr">const</span> <span class="nx">name</span>: <span class="kt">string</span> <span class="o">=</span> <span class="s2">&quot;future&quot;</span><span class="p">;</span>
664664

665665
<span class="c1">// 複数行</span>

docs/searchindex.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/typescript-guide.pdf

-7 Bytes
Binary file not shown.

docs/typing.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ <h2>一番手抜きな型付け: <code class="docutils literal notranslate"><spa
247247
あとは、メインの引数ではなくて、挙動をコントロールするオプションの項目がかなり複雑で、型定義が複雑な場合などです。
248248
例えば、JSONSchemaを受け取るような引数があったら、JSONSchemaのすべての仕様を満たす型定義を記述するのはかなり時間を要します。
249249
将来やるにしても、まずはコンパイルだけは通したい、というときに使うと良いでしょう。</p>
250-
<p>ただし、これを使うと、TypeScriptが提供する型チェックの恩恵は受けられません。<code class="docutils literal notranslate"><span class="pre">any</span></code>から型情報つきのデータにするためには後述の型ガードや型アサーションで変換しなければなりません。利用する箇所で毎回必要になります。TypeScirptの型情報は伝搬するので、なるべく早めに、データが発生する場所で型情報を付ければ、変換が不要になります。そのため、よっぽどの理由がないかぎりは<code class="docutils literal notranslate"><span class="pre">any</span></code>を使わない方がトータルの実装コストは大きく減ります。</p>
250+
<p>ただし、これを使うと、TypeScriptが提供する型チェックの恩恵は受けられません。<code class="docutils literal notranslate"><span class="pre">any</span></code>から型情報つきのデータにするためには後述の型ガードや型アサーションで変換しなければなりません。利用する箇所で毎回必要になります。TypeScriptの型情報は伝搬するので、なるべく早めに、データが発生する場所で型情報を付ければ、変換が不要になります。そのため、よっぽどの理由がないかぎりは<code class="docutils literal notranslate"><span class="pre">any</span></code>を使わない方がトータルの実装コストは大きく減ります。</p>
251251
<p>それ以外だと、外部からやってくるデータなどはコンパイル時には型情報がわかりません。標準ライブラリのブラウザのサーバーアクセスAPIの<code class="docutils literal notranslate"><span class="pre">fetch</span></code>のレスポンスは<code class="docutils literal notranslate"><span class="pre">any</span></code>となっています。そのため、<code class="docutils literal notranslate"><span class="pre">fetch</span></code>のレスポンスに関しては何かしらの変換処理が必要になります。</p>
252252
</div>
253253
<div class="section" id="unknown">

0 commit comments

Comments
 (0)