状況
Vue.jsの基礎学習中に色々コードを書き変えた際に偶然出会ったエラー
事象
・以下の"v-for"の基本型を作り、連続処理を学習中
<div id = "app">
<ol>
<li v-for="color in colors">{{ color }}</li>
</ol>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script src="main.js"></script>
var app = new Vue({
el:"#app",
data:{
colors:["Red", "Green", "Blue"]
}
})
結果:以下の通り正しく表示。よくあるv-forディレクトリの例文です。
・基本形ができたところで、構文の理解を深めるために色々とコードを変更していました。例えば、、、
<パターン1>
<div id = "app">
<ol>
<li v-for="c in colors">{{ c }}</li> <!-- v-forの値"color"を"c"に変更、マスタッシュ構文内も"color"を"c"に変更 -->
</ol>
</div>
//main.jsは上記と同じ
<パターン2>
<div id = "app">
<ol>
<li v-for="c in colors">{{ c }}</li> <!-- v-forの値"color"を"c"に、マスタッシュ構文内も"cに、keyも"colors"を"co"に変更 -->
</ol>
</div>
var app = new Vue({
el:"#app",
data:{
co:["Red", "Green", "Blue"] //プロパティ名"colors"を"co"に変更
}
})
・ここからが本題です。
ふとindex.htmlのv-for内の値"color"を"try"に変更
<パターン3>
<div id = "app">
<ol>
<li v-for="try in colors">{{ try }}</li> <!-- v-forの値"color"を"c"に、key"colors"を"co"に変更 -->
</ol>
</div>
// main.jsは基本形のまま
var app = new Vue({
el:"#app",
data:{
colors:["Red", "Green", "Blue"]
}
})
結果:表示されません。。。
「ん?」となり、原因を調べることに。
原因
恐らく"try"を入力したことで、コード上では「JavaScript上のtry文を作ろう!」とスタンバイしていることが原因かと思われます。
try文では本来その後にcatchブロックやfinallyブロックが必要で、このブロックがないままRunしているので、エラーが発生しているのかと思います。
try...catch構文(MDN)
ふと頭に浮かんだ"try"の記述が偶然構文の一つであったとは。。。
最後に
今回学んだコトとして以下3点になります
・構文を色々と変更してみると想定外の挙動をすることがある
・その想定外の挙動の原因を突き止めた結果、今回のように自分にとって新しい構文と出会うことがある
・この一連の作業が少し結論を導くのに時間がかかりましたが、楽しさを感じた自分がいる、ということに気づいた
以上、私が経験したエラーでした!
最後まで読んでいただきありがとうございました。