JavaScriptの変数宣言Var,let,constについて恋愛に置き換えて説明してみました。
主人公は花子ちゃんです。
##varの場合花子ちゃんは同じクラスの太郎くんが好きだと宣言するとします。
```javascriptvar my_crush = "太郎くん";
console.log(my_crush); // 太郎くん;
<p>しかし、二郎くんを好きになってしまった場合、後から宣言し直すことができます。</p>
```javascript
var my_crush = "二郎くん";
console.log(my_crush); // 二郎くん
##letの場合
同じく花子ちゃんは同じクラスの太郎くんが好きだと宣言するとします。
```javascriptlet my_crush = "太郎くん";
console.log(my_crush); // 太郎くん;
<p>次に二郎くんを好きになってしまったとしても、宣言し直すことができません。</p>
```javascript
let my_crush = "二郎くん" ;
console.log(my_crush); // エラー
しかし、ひっそりと好きな人を二郎くんにすることは可能です。
```javascriptmy_crush = "二郎くん";
console.log(my_crush); // 二郎くん
##constの場合
<p>上記同様、花子ちゃんは同じクラスの太郎くんが好きだと宣言するとします。</p>
```javascript
const my_crush = "太郎くん";
console.log(my_crush); // 太郎くん;
次に二郎くんを好きになってしまったとしても、let同様宣言し直すことができません。
```javascriptconst my_crush = "二郎くん";
console.log(my_crush); // エラー
<p>さらにひっそりと好きな人を変えることもできません。</p>
```javascript
my_crush = "二郎くん";
console.log(my_crush); // エラー
##まとめ
constは最も一途
letは見かけ上一途
varは一途ではないが、いさぎが良い