new Date(File.DateLastModified)
みたいに Date型のコンストラクタに渡す以外の使い道が見つけられないのに、その唯一の使用法が載っていない。■今日知ったこと。WScript.Arguments.Namedが返す WshNamedオブジェクトは名前付きのコマンドラインオプションに名前でアクセスするために用意されてるんだけど、名前のリストを列挙するメンバーがドキュメントには存在していない。数字を引数にしたり添え字にしたりしても何も引き出せないし、JavaScriptらしく for...in しても列挙できない。この、JavaScriptになじまない感じ、DateLastModifiedを Dateでラップする感じ、フォルダやファイルのコレクションを Enumeratorでラップするのと同じ感じ……。new Enumerator(WScript.Arguments.Named)
でキーを列挙できるんだね。初めて知ったよ。WSH5.6の HTMLヘルプの更新日時が 2001年だっていうから、16年目の発見!■まだわかっていないこと。Dateのコンストラクタのひとつが year, month, date,...というパラメータのリストを受けとるんだけど、手元に "2017-03-07".split("-")
したような配列がある場合、Functionオブジェクトの applyメソッドを使って引数リストを配列で与えたくなる。だってそうすると変数に入った文字列が時分秒まで含んでいた場合もひっくるめて "2017-03-07 23:34:00".split(/[- :]/)
で処理できるから。でも new演算子ってちょっとなじみが悪くて、この場合に組み合わせて使えない感じ。■あ、だめだ。monthは 0-11の範囲の数字なんだった。splitしたそのままでは使えない。