Javascript: каковы некоторые рекомендации по определению новых типов данных?

Предположим, вы создаете тип данных и выставляете его поведение.

Можете ли вы привести несколько примеров того, когда вы будете использовать:

функция & новые:

// define new data type
var CustomDataType= function(){ 
                      this.a='whatever';
                      this.doX= function(){/*some code*/};
                    }

// create a new instance of our custom data type
var obj= new customDataType();

объектный литерал Object.create:

// define new data type
var customDataType = {
                       a: 'whatever',
                       doX: function(){/*some code*/}
                     }

// create a new instance of our custom data type
var obj= Object.create(customDataType);

функция, которая строит ваш объект:

function customDataTypeFactory(options){
  return {
           a: 'whatever',
           doX: function(){/*some code*/}
         }
};

// create a new instance of our custom data type
var obj= customDataTypeFactory(options);

Я чувствую, что это может быть названо дубликатом для:new противObject.create но мой главный интерес не в том, чтобы обсудить, какой из них лучше, а в том, чтобы узнать, существуют ли конкретные случаи использования, в которых один предпочтительнее других.

Я прочитал много постов по смежным вопросам и книгу Крокфорда: Javascript: хорошие части. Пока что я пришел к выводу, что это вопрос предпочтений, хотя совет Крокфорда мне очень нравится: "старайтесь избегать функций, которые являются опасными и ненужными... яЯ говорю о.new

Ответы на вопрос(1)

Ваш ответ на вопрос