title: Backbone.js - proper model initialization
body: <p><strong>Questions:</strong> What is the proper way to initialize a backbone.js model when there are attributes that need to be stored in specific ways? Do i need to map the attributes that don't need any special formatting? I thought backbone.js did some kind of auto-mapping.</p>
  
  <p><strong>Example:</strong></p>
  
  <pre><code>var MyModel = Backbone.Model.extend({
  
      initialize: function (options) {
  
          // These attributes need to be stored in a different format
          // Dates
          this.startYear = new Date(options.startTime).getFullYear();
          // Rounding numbers
          this.wholeNumber = Math.Round(options.numberWithDecimals);
          // Storing empty strings as nulls
          if (options.fullName == null || options.fullName == "") {
              this.fullName == null;
          } else {
              this.fullName = options.fullName;
          }
  
          // These are fine as they are
          this.fieldA = options.fieldA;
          this.fieldB = options.fieldB;
          this.fieldC = options.fieldC;
      },
  });
  </code></pre>