きり丸の技術日記

技術検証したり、資格等をここに残していきます。

Javascript

JavaScriptでundefinedのときにデフォルト値を設定する(Null合体演算子 ??)(JavaのOptional.orEleseみたいなの)

地味に知らなかったので。 前提 JavaScript 対応 Null合体演算子??を使用する。 const item = { "A": "1" }; console.log(item.A.toString()); // "1" console.log(item.B?.toString()); // undefined console.log(item.A.toString() ?? "100"); // "1" cons…

JavaScript(TypeScript)のMapでgerOrElseと同等の動きを簡潔に書く

JavaだとMapのvalueを取得する際に、取得できなかった場合のデフォルト値を返すgetOrElseメソッドが用意されていますが、JavaScriptにはありません。今回の記事では、その同等の挙動を簡潔に書けるようにします。 環境 TypeScript 4.7.4 CodeSandboxで検証 …

JavaScript, GAS, TypeScriptで自作例外を作成する

GASを使用していて、雑にエラーハンドリングしたい時に自作例外をthrowして、ハンドリングしたいと思いました。 今回の記事は、JavaScript・GAS・TypeScriptで自作例外を作成します。 環境 GAS 2022/01/27 TypeScript 4.4.2 CodeSandboxで検証 コード 自作例…

JestでParameterizedTestを行う(異なるテストデータで同じ内容のテストを行う)

小ネタ。 Jestを使って、異なるテストデータで同じ内容のテストを行うParameterizedTestをやろうとしたときのメモ。なお、JestではParameterizedTestという名称では表現されていません。 なお、使い方自体は参考情報に乗せている公式を見てください。 環境 J…

JSで文字列から数値に変換する(カンマで3桁ごとに区切られた文字列を数値に変換する)

小ネタ。 JavaScript(ECMAScript)、TypeScriptで文字列型(String型)から数値型(number型)に変換しようとしましたが、小数点セパレータが国によって違うため、微妙にハマったのでメモします。 なお、きれいな処理だとは思っていないので、もしよりよい…

ピュアなJavaScript(ECMAScript)でQRコードを生成する(qrcodejs)

仕事で必要になったので、QRコード生成ライブラリのqrcodejsを素振りします。 Star数が10.5Kと調べたQRコード生成ライブラリの中でも多かったです。懸念点は2015年に更新が止まっていることですね。 ゴール QRコード生成ライブラリのqrcodejsを素振りする。 …

JestでJSONを比較する(特定の項目を無視する)

「JavaでJSONを比較する記事」を職場のSlackに貼ったところ、フロントでもJSONをいい感じに比較したいという依頼が来ました。 Jsonの比較 下記のRequestBodyを比較するようにする。 const response = { "animals": [ "gorilla", "human" ], "generate_date":…