回答編集履歴
3
null合体演算子を使うまでもないため、||に修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
let arr2 = [{id: 1, name: 'apple'}];
|
18
18
|
|
19
|
-
const res4 = (typeof arr == 'object' && arr.length > 0 ? arr : null)
|
19
|
+
const res4 = (typeof arr == 'object' && arr.length > 0 ? arr : null) || (typeof arr2 == 'object' && arr2.length > 0 ? arr2 : null) || {};
|
20
20
|
|
21
21
|
console.log(res4);
|
22
22
|
|
2
変数の中身がそもそも入っているかも比較演算
test
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
さて、配列変数に関しては、宣言時、代入の時点で初期化してしまうと、変数単体では真となりますので、
|
6
6
|
|
7
7
|
配列変数の長さで、比較演算してはいかがでしょうか?
|
8
|
+
|
9
|
+
また、変数がオブジェクトかどうか(配列はオブジェクトになる)の比較も追加しました。
|
8
10
|
|
9
11
|
|
10
12
|
|
@@ -14,7 +16,7 @@
|
|
14
16
|
|
15
17
|
let arr2 = [{id: 1, name: 'apple'}];
|
16
18
|
|
17
|
-
const res4 = arr.length > 0 ? arr : arr2
|
19
|
+
const res4 = (typeof arr == 'object' && arr.length > 0 ? arr : null) ?? (typeof arr2 == 'object' && arr2.length > 0 ? arr2 : null) ?? {};
|
18
20
|
|
19
21
|
console.log(res4);
|
20
22
|
|
1
ちょこちょこ文言修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
さて、配列変数に関しては、宣言時、代入の時点で初期化してしまうと、変数単体では真となりますので、
|
6
6
|
|
7
|
-
変数の長さで、
|
7
|
+
配列変数の長さで、比較演算してはいかがでしょうか?
|
8
8
|
|
9
9
|
|
10
10
|
|