JS

JS သင်ရင်း နားလည်တာကို ဘယ်လို define လုပ်မလဲဆိုတာကို brainfuck ဖြစ်တယ်။ နောက် ကိုယ်နားလည်ထားတာကရော သေချာသလား ဘယ်လို strong reference လား validate လုပ်မလဲ (မှန်သလားပေါ့) နောက်တခုက cover ဖြစ်သလား (နားလည်ထားတယ်ဆိုတဲ့အကြောင်းအရာနဲ.ပတ်သတ်ပြီး စေ့စေ့ငုံငုံ သေသေချာချာ နက်နက်နဲနဲ နားလည်တာလား အပေါ်ယံနားလည်တာလား) ဆိုတာကို ဆင်ခြင်ဖို.သင်ပေးဖြစ်တယ်။

JS မှာ + operator ကိုသင်ပေးရတော့ Google ခေါက်လိုက်ပေါ့ အဲ့ကနေ စလေ့လာမယ်ဆိုတော့ W3School မှာတင်ထားတာရှိတယ် +,-,*/ က အပေါင်း အနှုတ်လုပ်တယ်ပေါ့ ဒါနဲ. wschool က strong ဖြစ်တဲ့ reference မဟုတ်ဘူး။ ဒါဆို strong ဖြစ်ပါတယ်ဆိုတဲ့ MDN ခေါက်တော့ ဒီလင့်ရောက်တယ်။
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators

အဲ့မှာလဲ w3school ထက်နည်းနည်းပဲသာမယ်။
ဒါနဲ.တကယ့် semantics ကိုပြနိုင်တာ ECMA spec မှာပဲရှိမယ်ဆိုပြီး ရှာပြရှင်း အဲ့ကကောင်ကိုရှင်းဖြစ်တယ်

Addition ကိုရှင်းဖို. Type Conversion ကိုအရင်ရှင်းရတယ် အဲ့ကနေ မှ addition လုပ်ပုံ step အဆင့်ဆင့်ကို ရှင်းရတယ်။ စာသင်ချိန် တချိန် နီးပါးလောက် ကုန်သွားတယ်။ ဒါတောင် အကုန်မရှင်းနိုင်ဘူး။

https://www.ecma-international.org/ecma-262/5.1/#sec-11.6.1

EMCA Spec အရ ဆင့် ၈ ဆင့်ရှိတယ် (တကယ်က အဲ့ထက်မကဘူး အထဲမှာ ပြန် ညွှန်းတာနဲ.ဆို) Addition ကိုနားလည်ဖို.. ToPrimitive, ToNubmer စတာတွေ နားလည်ရဉီးမယ်။

တခါတလေ ဟုတ်လှပြီ နားလည်ပြီ ထင်တော့ထင်နေတာပဲ ဒါပေမဲ့ကိုယ်နားလည်ထားတာက cover ဖြစ်မဖြစ် ‌strong ဖြစ်မဖြစ် မသိနိုင် မစဉ်းစားနိုင်တော့ ငါတော့ နားလည်ပြီဆိုတဲ့ မောဟ သောက်တလွဲအတွေးဖြစ်တော့တာပဲ။

တခါတလေ သောက်တလွဲလောက် နားလည်ထားပြီး ငါတော့ ဟုတ်လှပြီ ထင်နေတဲ့ ကောင် တွေ တွေ.ရင် ငတ နှယ် သွသူ စမုန်းတုန်းနေတာ မသိရှာဘူးဆိုပြီး လွှတ်ပေးလိုက်တော့တယ်။

Original link =>(https://www.facebook.com/1819241055/posts/pfbid02Yptc1sLtGDVBFrNFrPPyWigM7XcdC9Ftba8d139sggGLsTMdugcjDc8bruPD3sC9l/?app=fbl)

Leave a comment