Array.prototype.spliceのシグネチャーコードに `{{book.console}}` が入ってる
これは意図的にそうしています。
(<!-- doctest: ReferenceError -->でエラーとなること前提のコードになってるので)
このセクションは削除のみを扱っていて、spliceで追加をすることはメインのユースケースではないので(途中に追加するパターンは少ない)、spliceの機能紹介を網羅することは意図してないと思います。
なので、{{book.console}}がついてるのが問題なのかなーという感じがします(実行ボタンが出てしまってる)。
{{book.console}}を消すだけでいいかなという思います。
Originally posted by @azu in https://github.com/asciidwango/js-primer/issues/1581#issuecomment-1425010301
TODO
- [ ] 実行してもエラーになる前提のコードは
{{book.console}}を取り除く - https://jsprimer.net/basic/array/#splice
エラーになるものも、実際に動かしてエラーを確認できた方がいいという考え方もありますがどうでしょうか?
例としてcpprefjpの似た議論をリンクしておきます。もちろん性質が異なるレポジトリですからあくまで情報提供としてお考え下さい。
https://github.com/cpprefjp/site/issues/487#issuecomment-349025519
const array = [];
array.splice(インデックス, 削除する要素数);
// 削除と同時に要素の追加もできる
array.splice(インデックス, 削除する要素数, ...追加する要素);
このケースは、説明用のやつなので、実行するにしても一からみて書いた方がいいですね。 なので、実行ボタンをつけたない方がいい気がしますね。(そもそもとして実行できないので、ボタン押した直後にエラーとなるのは不適切。一度空にできる試してみようボタンをつけるなりの工夫が必要)
〜を実行するとエラーとなります。
みたいにエラーを見せたい場合は、実行ボタン付けるのはいいと思います。