三項演算子の解読
意外と難しいんですよね。三項演算子からifへの変換。
とりあえず手でゴリゴリやる方法まとめてみたいと思います。
まず始めに最初のif(条件文)の条件文にあたる部分を探します。
ここはそこまで戸惑うこともないと思います。
48 <= a && 49 >= a ? (a -= 48, e(a)) : 50 === a ? e("") : 51 === a && !1 === a.code ? e("") : 32 === a ? e("") :9 === a ? e("") : 1 === a && !0 === a.code ? e("") : 13 === a ? e("") : 6 === a || 35 === a ? e("") : 72 === a ? e("") : 73 === a ? e("") : 74 === a ? e("") : 75 === a ? e("") : 76 === a && e("");
次に?と:を変えていきます。?を消すとよくわからなくなることがおおいので、とりあえずとっておきます。
ガリガリ…でこうなります。
if(48 <= a && 49 >= a) ? {
(a -= 48, e(a))
}else : if(50 === a) ? {
e("")
}else : if(51 === a && !1 === a.code) ? {
e("")
}else : if(32 === a) ? {
e("")
}else :if(9 === a) ? {
e("")
}else : if(1 === a && !0 === a.code) ? {
e("")
}else : if(13 === a) ? {
e("")
}else : if(6 === a || 35 === a) ? {
e("")
}else : if(72 === a) ? {
e("")
}else : if(73 === a) ? {
e("")
}else : if(74 === a) ? {
e("")
}else : if(75 === a) ? {
e("")
}else : if(76 === a) e("");
まず?の前後をみて、)と{を後ろ、if(を前につけます。
次に:の前後をみて、}とelseをつけます。
ついでに&&などがあったら、そこも変えます(ラストのif(76 === a) e("")の部分です)。
最後に?と:を消して完成です。
if(48 <= a && 49 >= a){
(a -= 48, e(a))
}else if(50 === a){
e("")
}else if(51 === a && !1 === a.code){
e("")
}else if(32 === a){
e("")
}else :if(9 === a){
e("")
}else if(1 === a && !0 === a.code){
e("")
}else if(13 === a){
e("")
}else if(6 === a || 35 === a){
e("")
}else if(72 === a){
e("")
}else if(73 === a){
e("")
}else if(74 === a){
e("")
}else if(75 === a){
e("")
}else if(76 === a) e("");
もちろんみじかくできます。
if(48 <= a && 49 >= a) (a -= 48, e(a))
else if(50 === a) e("")
else if(51 === a && !1 === a.code) e("")
else if(32 === a) e("")
else :if(9 === a) e("")
else if(1 === a && !0 === a.code) e("")
else if(13 === a) e("")
else if(6 === a || 35 === a) e("")
else if(72 === a) e("")
else if(73 === a) e("")
else if(74 === a) e("")
else if(75 === a) e("")
else if(76 === a) e("");
今回のコード、ある程度原型から崩したので、無駄が多いように見えますが、本当は違います。きちんとしてます。e("")がそれぞれ違います。
変換機欲しいのであとでやってみたいとおもいます。
この変換ってあまり需要ないかな…?