プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[TypeScript] new Date引数にスプレッド構文を指定する

new Date()の引数に年月日時分秒を指定することで指定した日付で初期化できます。

const d = new Date(2020, 9, 22, 10, 43, 21);

※月の指定はインデックスなので10月の場合は、(10-1)の9を指定します。

この引数をスプレッド構文で書こうとします。

const arr = [2020, 9, 22, 10, 43, 21];
const d = new Date(… arr);

この記述をするとTypescriptのエラーになります。

TS2556: Expected 0-7 arguments, but got 0 or more.

コンパイラがarrを正しく認識できないためのようです。
この場合、型を明示することでエラーは解消されます。

const arr:[number, number, number, number, number, number] = [2020, 9, 22, 10, 43, 21];
const d = new Date(… arr);

ここまでしてスプレッド構文を使用するメリットはないですが、仕組みとして他に応用できる場面があるかもしれません。


 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください