← Back to Scala Course | Chapter 2: Variables & Types | Lesson 1 of 8

val बनाम var

val किसी value पर स्थायी रूप से चिपका हुआ label है, जैसे permanent marker से लिखा नाम, जबकि var pencil से लिखा label है जिसे आप बदल सकते हैं। ज़्यादातर Scala coders सुरक्षा के लिए val पसंद करते हैं।

In this page:

  1. val vs var
Syntax
scala
val name: Type = value    // immutable
var name: Type = value    // mutable

val vs var

val एक immutable binding declare करता है -- एक बार assign होने के बाद, इसे कभी reassign नहीं किया जा सकता -- जबकि var एक mutable variable declare करता है जिसे बाद में reassign किया जा सकता है।

Scala का idiom default रूप से val को मजबूती से पसंद करता है, और सिर्फ तभी var का सहारा लेता है जब mutation वास्तव में ज़रूरी हो। immutability की यह पसंद Scala की functional programming style का एक मुख्य हिस्सा है।

Warning: val x = 5 के बाद x = 5 जैसे किसी val को reassign करने की कोशिश करना एक compile error है, runtime error नहीं।

उदाहरण: val vs var

markup
object Main extends App {
  val x = 10
  var y = 20

  y = 30 // allowed, y is a var
  println(s"x = $x, y = $y")
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. किसी val को reassign करने की कोशिश करना, जैसे x = 20, जो reassignment to val देता है; अगर इसे बदलना ज़रूरी हो तो var का उपयोग करें।
  2. हर जगह var का उपयोग करना, जबकि val ज़्यादा सुरक्षित है और इसे default होना चाहिए।
  3. यह मान लेना कि ArrayBuffer जैसे mutable object को रखने वाला val frozen है, जबकि सिर्फ reference fixed है और contents अब भी बदल सकते हैं।
🔒

Chapter Quiz — Complete all 8 topics to unlock

0/8 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.