Size: a a a

WebAssembly — русскоговорящее сообщество

2020 October 30

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🍣
Me изменил расширение файлов с .ts на .as и теперь я AngelScript разработчик :D
Странно, почему не ActionScript?
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Так решил гитхаб, на ангельском.
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
@maxgraey в AS есть вывод типов? Перегрузка не будет с ним люто конфликтовать?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
@maxgraey в AS есть вывод типов? Перегрузка не будет с ним люто конфликтовать?
В AS примерно такой же вывод типов как и в TS.
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
MaxGraey
В AS примерно такой же вывод типов как и в TS.
Мне "на глазок" кажется, что перегрузка любому выводу типов будет мешать... 😊
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
кста, в AS есть RTTI?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Георгий
кста, в AS есть RTTI?
есть. Используется пока только для instanceof
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
а перебрать допустим поля класса которые не были инициализированы можно?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
Мне "на глазок" кажется, что перегрузка любому выводу типов будет мешать... 😊
Перегрузка методов скорее конфликтует с дефолтными аргументами. Например:
test(a: String, b: String?) {
}
test(a: String, b: String, c: String = "c") {
}

Это пожалуй самая главная проблема перегрузки в ЯП где есть и дефолтные аргументы
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Георгий
а перебрать допустим поля класса которые не были инициализированы можно?
В смыле Object.keys? Нет пока нельзя
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
круче, Object.fields
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Георгий
круче, Object.fields
Может Object.entries?
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
в TS если определил поля в классе, но не задал значения то они не итерируются, ну это и понятно
источник

R

Rafael in WebAssembly — русскоговорящее сообщество
Георгий
в TS если определил поля в классе, но не задал значения то они не итерируются, ну это и понятно
в стрикт моде они undef
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🍣
Я как понимаю в самом васме нету перегрузки и такой трюк возможен только для приватных функций.
Ты кстати можешь использовать параметрицеский полиморфизм. то есть:
вместо:
function goo(a: i32, b: string) {…}
function goo(a: f64) {…}
использовать:
function goo<T extends i32 | f64>(a: T, b: string | null = null) {…}
источник

c

cevek in WebAssembly — русскоговорящее сообщество
MaxGraey
Ты кстати можешь использовать параметрицеский полиморфизм. то есть:
вместо:
function goo(a: i32, b: string) {…}
function goo(a: f64) {…}
использовать:
function goo<T extends i32 | f64>(a: T, b: string | null = null) {…}
а как сделать подобие юниона?
делаю
var x: Object = new Foo()
if (x instanceof Foo) { x.foo }
но так ругается
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Как я помню - никак
источник

c

cevek in WebAssembly — русскоговорящее сообщество
не работает получается тема суперклассов
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
cevek
а как сделать подобие юниона?
делаю
var x: Object = new Foo()
if (x instanceof Foo) { x.foo }
но так ругается
interface IFoo {}
class Foo implements IFoo {}

var x: IFoo = new Foo();
if (x instanceof Foo) {}

Но вот именно если нужны discriminated unions вроде a: string | i32 | Foo, то этого пока нету
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
cevek
не работает получается тема суперклассов
При чем здесь наследование к variant (discriminated union)?
источник