本章では、コード例で使用される機能について説明します。ただし、TypeScript の一部ではありません。
本書で示されたコード例は、単体テストを使用して自動的にテストされます。操作の予想される結果は、Node.js モジュール assert
の次のアサーション関数を使用してチェックされます。
assert.equal()
は ===
を使用して等価性をテストします。assert.deepEqual()
は、ネストしたオブジェクト (配列を含む) を深く比較して等価性をテストします。assert.throws()
は、コールバックパラメータが例外をスローしない場合にエラーになります。これらのアサーションを使用する例を次に示します。
import {strict as assert} from 'assert';
.equal(3 + ' apples', '3 apples');
assert
.deepEqual(
assert...['a', 'b'], ...['c', 'd']],
['a', 'b', 'c', 'd']);
[
.throws(
assert=> eval('null.myProperty'),
() ; TypeError)
最初の行の import ステートメントは 厳密なアサーションモード (===
を使用し、==
を使用しない) を使用します。通常、コード例では省略されます。
静的な型の断言もあります。
%inferred-type
は通常の TypeScript のコメントにすぎず、TypeScript が次の行に対して推論する型を記述しています。
// %inferred-type: number
= 123; let num
@ts-expect-error
は TypeScript の静的エラーを抑制します。本書では、抑制されたエラーは常に記載されています。これはプレーン TypeScript では必要ありませんし、効果もありません。
.throws(
assert// @ts-expect-error: Object is possibly 'null'. (2531)
=> null.myProperty,
() ; TypeError)
以前は TypeScript に警告されないようにするために eval()
が必要だったことに注意してください。