Цитата:
|
> В данном случае всё. Ты имеешь в виду какой-то конкретный тип?
да, там же не любая функция может быть. а, например, функция от 2 целочисленных параметров, возвращающая строку. > Не въехал в фразу. function square( obj ){ return obj.getX() * obj.getY() } не всё ли равно какой именно класс у obj, если он поддерживает необходимый нам интерфейс: double function getX(); double function getY(); > Какая разница? Тупо проверять конструктор. например такая: alert( new Number( 0 ) ? 1 : 2) alert( 0 ? 1 : 2) > Тоже не понял, поясни. o.s= 1 // тут должно быть исключение или же автоматическое приведение типов? o.s= new SomeClass // а тут? |
> Проверка конструктора.
> this.w.constructor === SomeClass то есть даже инстанса субкласса туда поместить будет нельзя? а почему проверка на инт выглядит иначе? new Integer( value ) или для Integer, Float и тучи других будет отдельная ветка алгоритма? > Кстати, функцию можно декорировать так, чтоб валидировать (есть такое слово?) возвращаемое значение. есть, но ты действительно собираешься декорировать _каждую_ функцию и после каждого вызова проверять тип возвращаемого значения? производительность не беспокоит? |
ХЗ, это всё надо обдумывать. Если захочешь сделаешь.
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Interface({ i: Integer, n: String, f: { gets: [ Float, Float, String ], returns: Float } }) |
Даздравствуют извращения. Сделать язык не типизированным, от этого и медленее, что бы разработчики делали искуственную типизацию и он становился ещё медленее.
|
смотря какая проверка. если мы завернём функцию складывающую 2 числа в декоратор, который будет делать parseInt для каждого аргумента и для результата, то обработка массива с помощью Array::reduce( 0, add ) будет занимать не 10мс, а все 50.
|
FINoM, а если нужно произвольное число параметров определённого типа начиная со второго?
Nekromancer, зато мы не скованы ограничениями и можем реализовывать типизацию так как ходим) хотим исключение бросам, хотим приводим к нужному типу, хотим все одной функцией всё обрабатываем, хотим реализуем перегрузку методов по типам аргументов)) |
весёлые очепятки) пойду поем...
|
Часовой пояс GMT +3, время: 05:52. |