Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.05.2016, 17:43
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 1  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
По умолчанию Сравнивал ли кто-нибудь производительность TypeScript с нативным JS?

При разработке на TypeScript получаем в итоге сгенерированный код JS, который не похож на тот код, который получился бы, если бы писали непосредственно на нативном JS.

Сравнивал ли кто-нибудь, насколько этот код отличается от нативного по производительности? Может кто видел ссылку на уже проведенные такие тесты?

Старый 26.05.2016, 15:12
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,739
Записей в блоге: 11
http://stackoverflow.com/questions/2...r-and-overhead
http://benchmarksgame.alioth.debian....cript&lang2=v8
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 26.05.2016, 17:05
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 3  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
Ну да, как-то так я и думал.
По идее, ничего критичного.

Старый 26.05.2016, 19:24
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
Можете в двух словах прояснить такие вопросы:
1)Контроль типов происходит только при "компиляции"?Или в рантайме тоже?
2)Есть ли аналоги флэшевых операторов as/is?

Старый 26.05.2016, 23:44
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от undefined Посмотреть сообщение
Есть ли аналоги флэшевых операторов as/is?
Не знаю, как там в TS, а в JavaScript as не нужен, а is — это instanceof.
__________________
Поймай яблоко 2!

Старый 27.05.2016, 12:18
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 6  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,235
Цитата:
1)Контроль типов происходит только при "компиляции"?Или в рантайме тоже?
Если отбросить лирику, то Typescript это вот что такое:

Код:
class Person {
    name: string;
    surname: string;
    private id: number;
    static title = "Example";
    
    constructor (name: string, surname: string) {
        this.name = name;
        this.surname = surname;
    }
 
    setID (id) { this.id = id; }
    
    getFullName () { return this.name+" "+this.surname; }
}
превращается в нативный js такого вида:

Код:
var Person = (function () {
        function Person(name, surname) {
            this.name = name;
            this.surname = surname;
        }
    Person.prototype.setID = function (id) {
        this.id = id;
    };
    Person.prototype.getFullName = function () {
        return this.name + " " + this.surname;
    };
    Person.title = "Example";
    return Person;
})();
Так что, конечно, на этапе выполнения никакого дополнительного контроля типов быть не может. Там же чистый js, причем не последнего стандарта.

Кстати, ES-2015 для JS показывает правильное направление развития самого JS.
https://learn.javascript.ru/es-modern

Причем, кое-кто из браузеров уже поддерживает его, а для остальных есть Babel. Но мы все-таки пока остановились на TypeScript.

Старый 27.05.2016, 13:56
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 7  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Не знаю, как там в TS, а в JavaScript as не нужен, а is — это instanceof.
ну в js то и нет типизации по сути.Походу TS с полиморфизмом не дружит.Значит на оба вопроса ответ - "нет".Благодарю

Старый 28.05.2016, 01:48
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 8  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от undefined Посмотреть сообщение
ну в js то и нет типизации по сути … значит на оба вопроса ответ — "нет"
На второй вопрос был дан конкретный ответ. Что там "нет", автор ответа не понимает. Пояснишь?
__________________
Поймай яблоко 2!

Старый 28.05.2016, 12:58
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 9  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
Цитата:
Сообщение от Zebestov Посмотреть сообщение
На второй вопрос был дан конкретный ответ. Что там "нет", автор ответа не понимает. Пояснишь?
Вопрос был:
Цитата:
Есть ли аналоги флэшевых операторов as/is?
Ответ:
Цитата:
Не знаю, как там в TS, а в JavaScript as не нужен, а is — это instanceof.
Т.е. 50% "нет"

Старый 28.05.2016, 13:07
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 10  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
О каких 50% идет речь? Ответ был дан по поводу того, во что в конечном счете превращается TS (это видно по ответу ниже моего) — по JavaScript. А в нем аналог is имеется. То, что в JavaScript нет аналога as, не значит, что "на оба вопроса ответ - нет", это же очевидно. Да и отсутствие строгой типизации здесь не понятно к чему упомянуто.
__________________
Поймай яблоко 2!

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:05.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.