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