Проблема в том, что не писать на js в некоторых областях — удовольствие того же уровня, что и писать на нем. Как такой код дебажить, например? Производительности это так же не добавит, ибо js — это совсем не asm.
Ну почему все пытаются воткнуть в JS ООП (в терминах Java/C++)? Тут прототипное наследование.
Потому что прототипное наследование в реализации JS — это грусть и погибель для поддержки более или менее сложных приложений, очевидно. Тренд в JS сейчас — это спрятать реальный, злой JS поглубже, обложившись разного рода трансляторами.
А давайте не будем заменять «папу» на «маму» и будем читать ветку полностью? Речь шла конкретно о ключевых словах protected/private и возможности их использовании вне ООП и даже объектного подхода.
Сериализаторам без разницы, как называются поля. Допустим, что это JSON, они знают, что тип — enum, что у него строковый базовый тип => его нужно сериализовать в соответствующую строку. Выглядело это бы так:
enum MyStrings : string {
One = "One with whitespaces",
Two = "Two with whitespaces",
Three = "Three with whitespaces"
}
MyStrings enVal = MyStrings::One;
var json = JsonConverter.Serialize<string>(enVal);
Вы уверены, что все сериализаторы ищут DescriptionAttribute на каждом enum и с радостью будут преобразовывать enum <--> string? Или мне самому их обучать?
В расширении можно произвольно управлять наличием и именами методов
А в чем отличие от шаблонов? Наличие методов определяется и без каких-то особых трюков с SFINAE. Причем, мне кажется, расширения компилятора здесь работают так же. А переименовывать вы можете так же свободно.
Вы так говорите, будто это что-то плохое.
Проблема в том, что не писать на js в некоторых областях — удовольствие того же уровня, что и писать на нем. Как такой код дебажить, например? Производительности это так же не добавит, ибо js — это совсем не asm.
Транслируемых же, на выходе обычный текст.
Весь остальной флуд меня изумляет своей беспочвенностью =)
Не надо так.
Потому что прототипное наследование в реализации JS — это грусть и погибель для поддержки более или менее сложных приложений, очевидно. Тренд в JS сейчас — это спрятать реальный, злой JS поглубже, обложившись разного рода трансляторами.
А давайте не будем заменять «папу» на «маму» и будем читать ветку полностью?Речь шла конкретно о ключевых словах protected/private и возможности их использовании вне ООП и даже объектного подхода.Расстрелять!Зря что ли шифрование присобачивали, чтобы содержимое индексировалось?
И нет таких стандартных атрибутов, которые я бы мог использовать везде. Поэтому будут вешать свой кастомный для каждого сериализатора. И в этом соль.
А в чем отличие от шаблонов? Наличие методов определяется и без каких-то особых трюков с SFINAE. Причем, мне кажется, расширения компилятора здесь работают так же. А переименовывать вы можете так же свободно.