Congrats!! Deno V1.0 Release

Deno のバージョン1.0 がリリースされたので使ってみる

N予備校の課題が無料公開されているのでDenoを使って実装してみる

Deno をインストールする

github.com

Windowsユーザーはchocolateyを使うと楽ちん。

chocolatey.org

  • REPL

REPLはdeno replで起動できる。

入門コース3章1節の練習問題をDeno, TypeScriptで実装する

  1. 練習問題のレポジトリをフォークする done
  2. ローカルにクローンする done
  3. 課題を実装する done
  4. プルリクする done

** クローンしたapp.js をdeno app.js で実行してみる

error: Uncaught ReferenceError: require is not defined const assert = require('assert');

** deno はnodeとインポートの方法が違うので訂正する

  1. require を import に変更する done
  2. maps.json を作成し、URLとインポート対象を管理する done
  3. 実行時に --importmap=maps.json --unstable をオプションとして付与する done

** assert のエラーを修正する

error: Uncaught TypeError: assert.equal is not a function

Node.js のAssert とDeno の Assert は異なるので修正が必要になる。 ちなみにN予備校のassert.equal は新しいバージョンのNode.js ではassert.strictEqual に変更されているので注意が必要になる。

nodejs.org

** Deno のスタンダートライブラリを確認する https://deno.land/std/testing

  1. assertEquals を使ってテストコードを書き直す

** 階乗を求める(課題の実装)

  1. ファイルをJSからTSに変更する done

  2. 関数(factorial)に型を追加する done

  3. 引数が1以下の場合には結果に引数を返す(0,1) done

  4. 2以上の場合に1から引数までの整数値の配列を生成する(targetArray) done

  5. 生成した配列の要素を掛け合わせた結果を返す done