Tools

Anki で JavaScript を使う

投稿日:2021年8月26日 更新日:

Anki日本語マニュアル Wiki には、JavaScript に対して以下の記載があります。

(省略)これは高度な機能であり、特定の Javascript が動作することを保証できませんし、動かない場合のサポート提供もできません。迷ったら、使用を避けるのが一番です。
カード表示の実装は Anki クライアントごとに異なっており、プラットフォームごとに動作のテストをする必要があります。(省略)

カードとテンプレート (Cards and Templates) – Anki日本語マニュアル Wiki*

確かにその通りだろうと思うのですが、通常 Anki はプライベートなツールであり、自分で作ったデッキは自分で使うだけなので、他人の使うプラットフォームまでテストする必要はそもそもないでしょう。自分の環境で動けば十分です。

また、JavaScript の実装に関しても 最近では標準化が進んでいるおかげで、よほど細かい機能でない限り、1つのプラットフォームで動作すれば他のプラットフォームでも動くだろうと予想されます。

ところで、Anki のテンプレートに JavaScript コードを記述する際、私は以下のように書いています。

{{Front}}

<script> 
(() => {
  // ここにコードを書く

})()
</script>

実行したいコードを無名関数に閉じ込め、その無名関数を即時実行しています。こうすることで、この中で定義した変数の影響範囲がこの無名関数内に限定され、グローバルなスコープを汚染することがなくなります。但し、Anki だとそれほど複雑な処理を書くことはないでしょうから、ここまでする必要はないかもしれません。

ときどき、共有デッキの記述を見て参考にさせて貰っています。よりよい書き方があれば取り入れていきたいと思っています。

📂-Tools
-

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

Windows

WSL (Windows Subsystem for Linux) の導入と設定

本ページでは、WSL (Windows Subsystem for Linux) の導入と設定についてポイントをまとめています。

Anki

「AnkiWebに問題が発生しました」というエラーについて

「AnkiWebに問題が発生しました」というエラーが発生したときの話です。

no image

VSCode の設定・使い方

VSCode の設定・使い方について執筆予定です。 その他の機能 Emmet はデフォルトでサポートされている Emmet によるサジェスト

WSL

WSL 2 で Docker を使うパターン

目次1. はじめに1-1. Docker についての基礎知識1-2. 前提2. WSL 2 ディストロ(Ubuntu) + パッケージのDocker を利用するパターン3. WSL 2 ディストロ(U …

ICTリテラシー

WinMerge で Excel(Word,PowerPoint,PDF)ファイルを比較する

WinMerge で Excel ファイルや Wordファイルを比較する方法について説明します。