きり丸の技術日記

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

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"
console.log(item.B?.toString() ?? "200");
// "200"

三項演算子を使用せずとも容易に使用できる点がよい点です。

Javaの場合

Javaでデフォルト値を設定する方法として、興味があれば過去の記事を確認してください。

ソースコード

CodePenで実行確認しています。

終わりに

前までは三項演算子を使用してデフォルト値を設定していましたが、今となってはNull合体演算子を使用して設定できることが分かってよかったです。

参考情報

類似情報

IntelliJ IDEAで必要なファイルだけをrevertしたい(revert selected)

コミット全体をRevertするのではなく、特定のファイルだけをRevertかけたい時の操作を記載します。

環境

  • IntelliJ IDEA
    • 2022.3.3

対応

GitタブでRevertしたいコミットログを探し、対象のファイルを右クリックします。

選択した変更を元に戻すを選択すると、特定のファイルだけRevertします。

間違えやすい点

特定のファイルだけをRevertをかけたいユースケースは、ファイルの修正履歴を見てからその修正が適切であったかを判断し、結果として特定のファイルだけが誤っていたことが判明したのでRevertをすると思います。

ただ、ファイルの履歴から追えるのは特定のファイルのコミットログだけです。あくまで、コミットログから対象のファイルを右クリックする必要がありますので、影響を受けるすべてのファイルを表示をクリックして、それから選択する必要があります。

このコミットをRevertを選択するとコミット対象をRevertしてしまいますので注意してください。

終わりに

この機能自体は知っていたのですが、機能を利用するための画面が分からなかったので、あらためてまとめました。

Revertで意図しない破壊も起こるので、安全に処理するためにはRevertではなく、この記事を元にしたコミットを重ねたほうが安全かもしれません。

参考情報t

Git Rebaseするときに自動でstashとstash popするオプションや設定(autostash)

Git Rebaseをする際に、ローカルの修正が残っている場合はgit stash, git stash popをしないと実行できません。

毎回そのコマンドを入力するのは面倒ですが、オプションや設定でstashコマンドを実行せずに済むのでそれを記事にしました。

環境

  • git version 2.24.1.windows.2

対応

--autostashオプションを付与してください。または、常に実行したい場合はrebase.autostashをtrueに設定してください。

# 実行時にオプションを付与する
git rebase main --autostash

# 常にauto.stashをするようにする
git config --global rebase.autostash true

もし、git configに設定したあとでautostashを実行しない場合は、次のオプションを付与するとstashしなくなります。

git rebase main --no-autostash

終わりに

この機能を知ったのは--autostashのオプションだけでしたが、git configに設定することで常に有効にすることが分かりました。

自分でちゃんと調べてみるのも大事ですね。

参考情報