что такое * тип возврата в as3 - PullRequest
3 голосов
/ 31 января 2010

Я видел метод в сценарии Action, который имеет тип возврата *

public function f(s:String):*

что это значит [*]?

Ответы [ 2 ]

8 голосов
/ 31 января 2010

Этот ответ не на 100% правильный. Нет «нетипизированного» и есть только небольшая разница между * и Object, потому что можно утверждать, что Object также означает нетипизированный, поскольку каждый тип происходит от Object. Однако * подразумевает неопределенное значение, а Object нет. Большая разница! Это полезно для динамических языков, потому что это означает, что свойство объекта может быть неопределенным, которое отличается от определенного и равно нулю.

Так, например, y не определено в {x: null} и x определено, но без значения. И вы можете использовать это:

var yesNoMaybe: *;

yesNoMaybe = true;
yesNoMaybe = false;
yesNoMaybe = undefined;
7 голосов
/ 31 января 2010

Символ * означает «нетипизированный», что означает, что тип может быть любым (и что значение может быть undefined). Использование звездочки имеет тот же эффект, что и отсутствие указания типа, но это хорошая форма, чтобы использовать его, чтобы четко указать свое намерение. См. справочник по языку для получения дополнительной информации.

...