質問編集履歴

1

修正

2020/11/04 02:18

投稿

MH00214
MH00214

スコア53

test CHANGED
File without changes
test CHANGED
@@ -1,73 +1 @@
1
- Nuxt + Typescriptのプロジェクトのコードを読んでいて理解できてないところがありましたので教えていただけませんでしょうか?
2
-
3
- ```
4
-
5
- <template>
6
-
7
- <div>
8
-
9
- <nuxt-link to="/">TOP</nuxt-link>
10
-
11
- {{ statusCode }}
12
-
13
- </div>
14
-
15
- </template>
16
-
17
-
18
-
19
- <script lang="ts">
20
-
21
- import Vue from "vue";
22
-
23
- export default Vue.extend({
24
-
25
- props: {
26
-
27
- error: {
28
-
29
- type: Object,
30
-
31
- default: null
32
-
33
- }
34
-
35
- },
36
-
37
- computed: {
38
-
39
- statusCode(): number {
40
-
41
- return (this.error && this.error.statusCode) || 500;
42
-
43
- }
44
-
45
- }
46
-
47
- });
48
-
49
- ```
50
-
51
- このコードはerrorページを作っているコンポーネントです。
52
-
53
- 処理内容はエラったらstatusCodeしてViewに表示る、ということだと思うのですが
1
+ 一部不具合を含んだコドや誤った記述があったため、質問削除ました。再度調べ直し投稿しま
54
-
55
- computedの中にある
56
-
57
- `return (this.error && this.error.statusCode) || 500`
58
-
59
- という記述を素直に読むと
60
-
61
- * this.error && this.error.statusCode の真偽判定のboolean
62
-
63
- * あるいは500というnumber型の数値
64
-
65
- が返ってくるように思えるのですが、
66
-
67
- `statusCode(): number` と定義されている以上number型の値が返ってくるのだということのようです。
68
-
69
-
70
-
71
- `(this.error && this.error.statusCode) `の記述でなぜ数値が返ってくるのか、どこかMDNなどを読むと良いなどのアドバイスがあれば教えていただけないでしょうか?
72
-
73
- おそらくJavascriptの基本的な文法を私が理解できてないだけだとおもうのですが…。