![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 461
|
Чем отличается?
и
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
На сколько я понимаю, это нужно компилятору, работающему в strict mode.
|
|
|||||
|
Если на AS3 этого не сделать - будет тип *, или Object - он мало того, что не проеряется компилятором - еще и работает медленне
Но вообще в природе существует механизм выявления типов компилятором Например, если в haXe напишешь то тип переменной будет именно myClass и проверяться комилятором будет, и даже флеш-девелоп автокомплит покажет (не всегда правда, под хакс он слабо заточен) Говорят в C# тоже что-то похожее добавили (объявление переменной с ключевым словом var и автоопределением типа) Но есть случаи, когда тип писать нужно, например, чтобы обрезать до интерфейса/более общего типа: Последний раз редактировалось expl; 26.03.2010 в 23:41. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Пишу код в FD, если не писать тип, то придется вручную набирать публичные методы и свойства класса, лень.
|
|
|||||
|
Modus ponens
|
Bgg - expl про HaXe говорил. HaXe != AS
FD кстати делает кой-какое инвертирование типов для AS2... но там так, ерунда... По поводу var в C# - угу, есть такое, но я не уверен в том, что это инвертация...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Не знаю, замедления я не заметил.
Однако, если не указывать тип явно, то в некоторых случаях компилятор выдаст ошибку, поскольку просто не найдет соответствующих объекту публичных методов. Кстати, иногда наблюдаю обратную картину, когда отказ от явного указания типа облегчает жизнь. Хотя это и не слишком корректно, пожалуй, с технологической точки зрения. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Например, некий обработчик получает на вход событие с данными.
private function myProcessCompliteHandler(e:MyDataEvent) { var processResult = e.data.process.result; } Не вижу, что мы выиграем, установив для processResult конкретный тип. |
|
|||||
|
Modus ponens
|
Выиграете то, что когда вы потом попробуете processResult.@foo вас встретит ошибка времени исполнения, а в вашем дурно пахнущем коде понять почему она случилась будет нереально изза таких вот "улучшений".
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 461
|
Подводя итог, я так понял что все дело в замедлении работы с типом *.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|