banner
Tenifs

Tenifs

雄关漫道真如铁,而今迈步从头越。
github
follow
zhihu
email

空値結合演算子

TypeScript(および JavaScript)では、??は Nullish Coalescing Operator と呼ばれる演算子の一種です。これは、左のオペランドがnullまたはundefinedの場合に右のオペランドを返し、それ以外の場合は左のオペランドを返します。これは、nullまたはundefinedの値を扱う際に特に変数にデフォルト値を設定する際に便利です。

構文:

let result = value1 ?? value2;

例:

let name: string | null = null;
let defaultName = "Default Name";

let displayName = name ?? defaultName;

console.log(displayName); // 出力 "Default Name"

この例では、namenullであるため、displayNamedefaultNameの値である "Default Name" に設定されます。

||との違い:

論理和演算子(||)とは異なり、空値結合演算子は左のオペランドがnullまたはundefinedの場合にのみ右のオペランドを返しますが、論理和演算子は左のオペランドが偽の値(例:nullundefinedfalse0NaNまたは"")の場合に右のオペランドを返します。

let value1 = 0;
let value2 = value1 || 10;
let value3 = value1 ?? 10;

console.log(value2); // 出力 10、0は偽の値と見なされるため
console.log(value3); // 出力 0、0はnullまたはundefinedではないため

この例では、value210に設定されますが、value1が偽の値であるためです。一方、value30に設定されますが、value1nullまたはundefinedではないためです。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。