エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

JavaScript Advent Calendar 2020 まとメモ

Advent Calendar

JavaScript Advent Calendar 2020 - Qiita

きっかけ

エンジニアとして、周囲に置いていかれないように、多くの人が情報を乗せる場所で自分の知識レベルを合わせるためにまとめてみようと思ったから。

感想

【超初心者向け】javascriptjQueryの違いは何?5分で解説。

【超初心者向け】javascriptとjQueryの違いは何?5分で解説。 - Qiita

最近は、あんまりjQueryは使わないかな。
jsで楽して書くようにすることが多い。
未だに、$とかが意味分からなくて、結構固まる。

jsの開発は、nodeってイメージが強い。
というか、これって、jsとnodeの違いも、同じことが言えるよね。。。
jsは、ライブラリが大量に出回っているから、素のJavaScriptの実装と、ライブラリを利用している実装の見分けが、初学者にはキツイ印象がある。
実際、自分も初めてJavaScriptやったときは、ライブラリを使った記述なのか、JavaScript標準の記述なのか迷ったことが多かった気がする。

JavaScript における配列コピー

JavaScript における配列コピー - Qiita

個人的には、concat使っちゃう。
スプレッド構文は、パット見で固まりそう。。。
慣れればスプレッドが良いんだろうけど、配列コピーしたいシーンが、まだそんなに多くない。

JS直書きでGoogle DoodleのCanvasを録画してGifに

JS直書きでGoogle DoodleのCanvasを録画してGifに - Qiita

canvasとかのダウンロードの実装って、そうやってできるんだってのが、参考になった。
jsのダウンロードの実装って、どうやってるんだろうって毎回疑問に思ってたが、aタグを使うやり方があるのね。

JavaScriptの非同期処理を制御する方法

JavaScriptの非同期処理を制御する方法 - Qiita

JavaScriptやるなら、必ず通る非同期処理だね。
Promiseは、知らないうちにコールバック地獄になるから、今はawaitをなるべく使うようにしている。

プログラミング初学者の現役医師が、firebase使って診断名を管理できるLINEBOTを実装してみた。

プログラミング初学者の現役医師が、firebase使って診断名を管理できるLINEBOTを実装してみた。 - Qiita

初学者でも、サービス連携すれば、ある程度形になるんだって感じた。
最初は、まずサービスを作ることが重要なのかもしれない。
何か作るにしても、いろんなことが気になりすぎて、重要なことの優先順位が落ちるってことは、ありえそう。。。

Canvas2Dについてさっくり復習してみた

Canvas2Dについてさっくり復習してみた - Qiita

素のCanvas2Dは、俺も触ったことはない。
何かしらのフレームワークで隠蔽されているものを使うことが多い。

API見たけど、素で使うのは、俺にとってはレベルが高そう。。。

JavaScript】プリミティブ型とオブジェクト型を理解したい

【JavaScript】プリミティブ型とオブジェクト型を理解したい - Qiita

JavaScriptに型がないと感じるのは、型の宣言を書くことが極端に少ないからではないかと思う。
めったに書かないから、ないと思ってしまっても仕方ないのかもしれない。

JavaScript】Function.prototype.bind() とthis束縛の歴史

【JavaScript】Function.prototype.bind() とthis束縛の歴史 - estie inside blog

javascriptのthisは、未だによくわからないのが実情。。。
とりあえず、アロー関数使っておけば、違和感なく使えるって理解くらいしかない。

selfで回避は、昔、よくやったなぁと懐かしむばかりである。
もう、ここらへんの理詰めは、思い出せない。

JavaScript】非同期処理 まとめ

【JavaScript】非同期処理 まとめ

やっぱり、promise, async/awaitで躓く人は多いんだ。。。
自分も、理解するのに結構時間がかかった。

Promise.allSettledは、使ったことないな。
どれかがコケたら例外処理ってのが普通だから、出会ったことがなかった。
ES2020から導入されたから知らんかったのだろうな。。。

あとで試す。

楽天 ラッキーくじ」を自動化して、運試しをしてみる Tampermonkey篇

「楽天 ラッキーくじ」を自動化して、運試しをしてみる Tampermonkey篇 - Qiita

こういうのは、作ったほうが便利なんだとは思うが、なかなか腰が上がらない。。。

[JavaScript (クラスの作り方)] JSやURLのアレコレについて触れながら、URLを操作するクラスを作ってみよう!

[JavaScript (クラスの作り方)] JSやURLのアレコレについて触れながら、URLを操作するクラスを作ってみよう! - Qiita

typescriptから入ったせいか、javascriptでも普通にclass書いちゃう。
むしろ、序盤の方が違和感が強かった。
古くからjavascriptやってる人は、classの記載に違和感を覚えたりするのだろうか?

[JavaScript]作業効率を上げるためにデバックを身に付けよう

[JavaScript]作業効率を上げるためにデバックを身に付けよう - Qiita

javascriptのデバックは、だいたいブラウザで完結できるからな。。。
ただ、サーバーサイドのjavascriptは、そうはいかない。
consoleログを大量に使った記憶がある。
console.dir()は、実用性ありそう。

console系のメソッドは、試す。

急に難しくなったJavascript

急に難しくなったJavascript - Qiita

昔が分からんから、なんとも言えないな。。。

JavaScriptの口寄せ的な存在? call()メソッド

JavaScriptの口寄せ的な存在? call()メソッド - Qiita

callは、あんまり使ったことないな。
ただでさえややこしいthisの参照先を覚えるのが嫌だから、アロー関数とかselfでなんとかすることが多かった。

callやapplyからは、かなり嫌な臭いを感じる。
深みにハマりそうだから、ふ~ん程度で辞めときます。。。

JavaScriptで特定のキー入力をトリガーにしたい

JavaScriptで特定のキー入力をトリガーにしたい - Qiita

特に目新しいものはなかったので、既読

JavaScriptはthisで挫折して初めて成長する

JavaScriptはthisで挫折して初めて成長する - Qiita

やっぱり、thisで挫折するのは全員共通なんだ。。。

【JS入門】 JS 初めの一歩に必要な知識を解説

【JS入門】 JS 初めの一歩に必要な知識を解説 - Qiita

特に目新しいものはなかったので、既読

外部サイトへの「埋め込みjsタグ」を作る際に気をつけていること

外部サイトへの「埋め込みjsタグ」を作る際に気をつけていること - Qiita

scriptタグにasyncを付けられるのを初めて知った。
dom操作系ならdeferがまるそう。
いっつも、onloadで完了後にdom操作してたが、そんなことしなくても良かったんだな。。。

忙しいプログラマーのための関数型プログラミング

忙しいプログラマーのための関数型プログラミング Functional Programming for the Working Programmer

UNIT1に該当する箇所を読んで、挫折しました。。。
なんとかUNIT1相当の箇所は読み込めたけど、それ以降はキツイ。。。

動的にCSSを生成してテーブルをフィルター

動的にCSSを生成してテーブルをフィルター

どっちかと言うと、正規表現がメインな気がしないでもない。

Web制作で使えるJavaScript

Web制作で使えるJavaScript集 - Qiita

List.jsは、気になった。最近、個人で開発しているのやつで、データの表記をどうするか考えているのがあったのだが、使えそうな気がしないでもない。

<input type="file">JavaScriptで扱うときに気をつけること

<input type="file">をJavaScriptで扱うときに気をつけること - 青色の紙切れ

<input type="file">で、最近悩まされていろいろ調べたから、既知だった。

TODO

  • Promise.allSettledを試す
  • console系のメソッドを試す