azu
azu
まだないんですよねー https://github.com/codesandbox/sandpack/pull/301 でちょうど実装中
ログ自体はforwardされてメインのDevToolsに出てくるので、特に何も説明してない感じですね。 メインの文中ではまだこのプレビューについて触れてなくて、まだおまけ感がある扱いにしちゃってます。
今すべてサンプルが_bookに入ってるっぽいのでURLを指定するとアクセスできる https://asciidwango.github.io/js-primer/use-case/todoapp/final/final/ とか
Codesandboxを使うとプロジェクト構造も見れて編集などもできるので、ウェブ版はこれを使うと良さそう。 指定リポジトリの指定パスを自動的に読み込めるので、特殊な設定が不要でいい感じ(今embedはバグってるけど) https://codesandbox.io/s/github/asciidwango/js-primer/tree/master/source/use-case/todoapp/app-structure/todo-html
@lacolaco CLIの方も一緒に書き換えました。 コラムってこんなイメージであってますかね?
> そのため、HTMLではscript要素でindex.jsのみを読み込み、このindex.jsからimport文で他のモジュールを読み込みます。 > https://jsprimer.net/use-case/todoapp/entrypoint/ とありますが、 https://jsprimer.net/use-case/todoapp/entrypoint/#module-entry-point この辺にも再度明示的に書くというイメージですかね。 moduleではないscriptロード(歴史的な``)の仕組みが知識としてある場合に、混乱しやすいという感じですかね?
たしかにArray#reduceの話になっていてあんまりconst関係ない感じかもしれないですね。 意図しているのはletを使わない(再代入をしない)反復処理の方法なので、なにか別のタイトルか中身を分かりやすくした方が良さそうな気がしますね。 forを使うと次のように `let total` という感じで `let` で一時的な変数を定義しなくちゃいけなくなってしまいます。 > 再代入を禁止することで、ミスから発生するバグを減らすことが期待できます。 このため変数を宣言する場合には、まずconstで定義できないかを検討し、できない場合はletを使うことを推奨しています。 > https://jsprimer.net/basic/variables/ と書いているように、できれば `let` や `var` を使わない(再代入できない状態)方が、再代入による意図しない値の上書きなどが発生しにくいので、その方法について書いているというコラムですね。 reduceメソッド自体があんまり直感的ではないので、本文ではなくコラムに置いているという形だったと思います。 (sum関数のようにスコープが小さければ、`let`でそこまで問題がおきるわけじゃないので、推奨ってほどでもないという意味合いですね) ```js function sum(numbers) { let total = 0; for (let...
[JavaScript のクロージャーと for 文の let 初期化の例外](http://nmi.jp/2022-08-16-Let-Initializer-In-For-Loop) もう少し詳しい仕様的な解説
https://tc39.github.io/ecma262/#sec-patterns > The RegExp constructor applies the following grammar to the input pattern String. An error occurs if the grammar cannot interpret the String as an expansion of Pattern. とあるので正規表現の中の文字列は...
テンプレートリテラル | Name | Code | | ---------------------------------------- | -------------------------- | | タグ関数([tag function](https://tc39.github.io/ecma262/#sec-string.raw)) | **String.raw**\`template\` | | タグ付きテンプレート([Tagged Templates](https://tc39.github.io/ecma262/#sec-tagged-templates)) | **String.raw\`template\`** | | テンプレートリテラル([Template Literals](https://tc39.github.io/ecma262/#sec-template-literals)) | **\`template\`** | |...