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

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

関連記事

JavaScript

npm のパッケージを最新版に更新する

目次1. npm のパッケージを最新版に更新するには?2. npm-check-updates を使ってプロジェクト内のパッケージを最新版にする手順1. npm-check-updates をインスト …

WSL

WSL (または WSL 2) から外付けストレージ側にアクセスできない場合の対処方法

WSL (または WSL 2) で外付けストレージ側に移動できない場合の対処方法を紹介します。

Evernote

【Evernote】検索でヒットするはずのノートが、ヒットしない場合の対処法

【Evernote】検索しても、特定のノートがヒットしない場合の対処法について説明します。

Windows

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

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

Windows

Google の「バックアップと同期」で同期エラーになった時の対応

目次1. はじめに2. 同期エラーの状況3. 対応方法4. おわりに 1. はじめに ローカルのデータを、Google ドライブと同期させる「バックアップと同期」というアプリケーションがあります。 最 …