Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2014, 12:58
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

Принято ли в js объявлять свойства в прототипе заранее?
Принято ли в js объявлять свойства в прототипе заранее?
Как будет правильно так-
Test.prototype = {
	prop_1: undefined,
	prop_2: undefined,
	prop_3: undefined,
	prop_4: undefined,

	init: function( args ){
		this.prop_1 = args.prop_1;
		this.prop_2 = args.prop_2;
		this.prop_3 = args.prop_3;
		this.prop_4 = args.prop_4;
	}
};

или так -
Test.prototype = {
	init: function( args ){
		this.prop_1 = args.prop_1;
		this.prop_2 = args.prop_2;
		this.prop_3 = args.prop_3;
		this.prop_4 = args.prop_4;
	}
};
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2014, 13:46
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

Ой, понял какую ерунду спросил. Никак ещё не привыкну.
На первый взгляд js кажется таким простым, но его прототипную модель
тяжело принять после классовой.
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2014, 14:12
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,504

Ну default-ные значения можно хранить и в прототипе. Пустые смысла не имеет само собой.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2014, 08:34
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

> Пустые смысла не имеет само собой.

имеет, что бы сразу видеть интерфейс класса, не просматривая код методов. Ну и jsdoc сразу понятно к чему писать.
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2014, 08:38
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Riim Посмотреть сообщение
> Пустые смысла не имеет само собой.

имеет, что бы сразу видеть интерфейс класса, не просматривая код методов. Ну и jsdoc сразу понятно к чему писать.
+1 Но вместо udef принято использовать null и в jsDoc удобнее юзать
__________________
kobezzza
code monkey
Ответить с цитированием
  #6 (permalink)  
Старый 06.11.2014, 09:00
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

> Но вместо udef принято использовать null

если в поле будет лежать примитивное значение, я использую undef, если не примитивное - null.
Ответить с цитированием
  #7 (permalink)  
Старый 06.11.2014, 11:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Riim Посмотреть сообщение
> Но вместо udef принято использовать null

если в поле будет лежать примитивное значение, я использую undef, если не примитивное - null.
С null просто удобнее

var foo = {
    /** @type {?string} */
    bar: null
};



var foo = {
    /** @type {(string|undefined)} */
    bar: void 0
};
__________________
kobezzza
code monkey
Ответить с цитированием
  #8 (permalink)  
Старый 06.11.2014, 21:00
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Разве не достаточно просто /** @type {string} */ ?
Например на этой странице http://usejsdoc.org/tags-type.html :
/** @type {(string|Array.)} */
var foo;
Ответить с цитированием
  #9 (permalink)  
Старый 06.11.2014, 21:06
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Ну я просто использую диалект от GCC, там обязательно точно указывать все возможные типы.
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск