Selam, bugün garip bir şey öğrendim sizinle paylaşmak istedim.
JavaScript'te süslü parantezlerin (curly braces) yerleşimi, kodun nasıl çalıştığını etkileyebilir ve beklenmedik sonuçlara yol açabilir. Özellikle return
ifadesi ile süslü parantezlerin kullanımı, farklı sonuçlara neden olabilir. İşte bir örnek ve açıklaması:
Doğru Kullanım:
return {
javascript: "fantastic"
};
Bu durumda, return
ifadesinden sonra gelen süslü parantezler, bir nesneyi ifade eder ve doğru bir şekilde döndürülür.
Yanlış Kullanım:
return
{
javascript: "fantastic"
};
Bu kod parçasında return
ifadesinden sonra gelen süslü parantez, bir nesne değil, boş bir blok olarak değerlendirilir. Bu durumun nedeni, JavaScript'in otomatik noktalama (automatic semicolon insertion) özelliğidir. Burada return
ifadesinden sonra bir satır sonu karakteri bulunduğunda, JavaScript otomatik olarak bir noktalı virgül ekler ve return
ifadesinin burada sona erdiğini kabul eder. Bu durumda, return
ifadesi undefined
döndürecektir ve süslü parantezler, bir blok olarak yorumlanacaktır.
Bu tür sorunlardan kaçınmak için, return
ifadesinden sonra süslü parantez kullanırken dikkatli olunmalı ve kodun doğru çalıştığından emin olmak için satırları düzgün bir şekilde hizalamalısınız.
Kaynaklar:
https://stackoverflow.com/questions/3641519/why-do-results-vary-based-on-curly-brace-placement
https://robertnyman.com/2008/10/16/beware-of-javascript-semicolon-insertion