Svelte
エンジニアのためのWebチートシート
Svelteはコンパイラベースのフロントエンドフレームワークです。 Svelte 5のRunes($state, $derived, $effect等)による新しいリアクティビティシステムを中心に、テンプレート構文、バインディング、トランジション、SvelteKitの基本をチートシートにまとめました。
コンポーネント基本
コンポーネント構造
script(ロジック)、マークアップ(HTML)、style(CSS)の3セクションで構成されます。
TypeScript対応
lang="ts" でTypeScriptを使用できます。
スコープドCSS
スタイルはコンポーネントにスコープされます。:global() でグローバルスタイルを適用できます。
Runes(ルーン)
$state - リアクティブ状態
リアクティブな状態を宣言します。オブジェクト・配列はディープリアクティブです。
$derived - 派生状態
他の状態から自動計算される値です。メモ化され、依存値が変わった時のみ再計算されます。
$effect - 副作用
マウント時と依存値の変更時に実行されます。クリーンアップ関数を返せます。
$props - プロパティ
親コンポーネントから渡されるプロパティを受け取ります。
$bindable & $inspect
$bindableは双方向バインディング可能なプロパティ、$inspectはデバッグ専用のルーンです。
テンプレート構文
{#if} & {#each}
条件分岐とリストレンダリングです。
{#await} & {#key}
Promise処理と値変更時の再生成です。
{#snippet} & {@render}
再利用可能なテンプレート片の定義とレンダリングです(Svelte 5でslotを置換)。
イベント & バインディング
イベントハンドリング
Svelte 5ではHTML標準のイベント属性(onclick等)を使用します。
バインディング
bind:ディレクティブによるフォーム要素やDOM参照への双方向バインディングです。
コンポーネントイベント
Svelte 5ではコールバックプロパティでイベントを伝播します。
トランジション & アニメーション
トランジションの使い方
要素の出入りにアニメーションを適用します。
組み込みトランジション一覧
| トランジション | 効果 | 主要パラメータ |
|---|---|---|
| fade | 不透明度 | delay, duration |
| blur | ぼかし + 不透明度 | amount, duration |
| fly | 移動 + 不透明度 | x, y, duration |
| slide | スライド | axis, duration |
| scale | 拡大縮小 | start, duration |
| draw | SVG描画 | speed, duration |
| crossfade | 要素間の遷移 | fallback, duration |
アニメーション(keyed each内)
{#each}でキーを使う場合、要素の並べ替えをアニメーションできます。
ストア & 状態共有
共有状態(Svelte 5推奨)
.svelte.js ファイルでrunesを使い、コンポーネント間で状態を共有します。
従来のストア
writable/readable/derivedストアは引き続き利用可能です。
特別な要素 & ディレクティブ
特別な要素
svelte:window、svelte:head 等のシステム要素です。
class & style ディレクティブ
条件付きクラスとインラインスタイルの設定です。
SvelteKit ルーティング
ファイルベースルーティング
src/routes/ ディレクトリ構造でルーティングが決まります。
レイアウト
共通レイアウトの定義です。children スニペットで子ページを挿入します。
SvelteKit データ & フォーム
ロード関数
サーバー/クライアントでのデータ取得です。
フォームアクション
サーバーサイドのフォーム処理です。プログレッシブエンハンスメント対応。
APIルート
+server.ts でREST APIエンドポイントを作成します。
引用・参考リンク
Related Cheatsheets
- jQuery -> Vanilla JSの変換-Vanilla JSとは純粋なJavaScriptのことです。Pure JSと呼ばれたりもします。jQueryなどのライブラリありきでJavaScriptを考える風潮に皮肉を込めてVanilla JSと呼ばれています。 React.jsやVue.jsが台頭してくる中でjQueryに依存しない純粋なJavaScriptの書き方を覚えるために、jQuery -> Vanilla JSの対応関係をチートシートにまとめてみました。
- React-Reactは、Facebookとそのコミュニティによって開発されているユーザインタフェースを構築するためのJavaScriptライブラリです。React.jsまたはReactJSの名称としても知られています
- TypeScript-TypeScriptはMicrosoftが開発したJavaScriptのスーパーセットです。 静的型付けにより、開発時のエラー検出やコード補完が強化されます。 基本型、高度な型、ユーティリティ型、型ガードなどをチートシートにまとめました。
- Next.js-Next.jsはVercelが開発したReactベースのフルスタックフレームワークです。 App Router、Server Components、データフェッチング、ルーティングなどの機能をチートシートにまとめました。
- Vue.js-Vue.jsはプログレッシブJavaScriptフレームワークです。 Composition API、テンプレート構文、リアクティビティ、コンポーネントなどをチートシートにまとめました。
- GraphQL-GraphQLはAPIのためのクエリ言語であり、既存のデータに対するクエリを実行するためのランタイムです。 クエリ、ミューテーション、型システム、スキーマ定義、フラグメント、ページネーションなどをチートシートにまとめました。
- Node.js-Node.jsはJavaScriptのサーバーサイドランタイムです。 モジュールシステム、ファイルシステム、HTTP、ストリーム、プロセス管理、イベント、非同期パターン、crypto、テストランナーなどの基本をチートシートにまとめました。
Related Goods
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る



