Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   ie и class. Помогите разобраться (https://javascript.ru/forum/css-html-internet-explorer/66148-ie-i-class-pomogite-razobratsya.html)

vanoha 28.11.2016 15:58

ie и class. Помогите разобраться
 
В нэте везде пишут, что TypeScript - работает во всех браузерах.
class MyClass {}

Но например в IE11 ругается на class MyClass {} - "Синтаксическая ошибка".
И при
new MyClass;
- "Не определено"...
Продвинутые, спецы объясните почему так и как с этим бороться?
Или использовать старый стиль? :help:

Coriolan161 28.11.2016 16:22

vanoha,
Шимы надо
Почитайhttps://github.com/angular/angular/issues/7144

vanoha 28.11.2016 17:02

Прикрутил я <script src="https://npmcdn.com/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
Только разницы ни какой...:-/

Coriolan161 28.11.2016 17:31

vanoha,
Еще идея: компилятор тайпскрипта компилит все в es6, а 11 болеет от него.
Короче лезь в свой tsconfig и ищи
"compilerOptions": {
    "target": "здесь че-то стоит",

Короче таргет надо на es5

Rise 28.11.2016 20:25

Цитата:

Сообщение от vanoha (Сообщение 436414)
В нэте везде пишут, что TypeScript - работает во всех браузерах.

Они ошибаются... не один браузер TypeScript не поддерживает...

vanoha 29.11.2016 11:06

Не правда. Яндекс и Хром 100% поддерживают...

Coriolan161 29.11.2016 11:11

vanoha,
Они поддерживают результат компиляции TypeScript в ES6 потому что они ES6-ready. Нету поддержки тайпскрипта без компиляции, нету

vanoha 29.11.2016 12:13

https://kangax.github.io/compat-table/es6/
А вот по этой таблице, по крайней мере СH и FF без компиляции поддерживают объявление классов словом "class".
Может я просто путаю это с тайпскрипт, но я имел ввиду именно это...

Coriolan161 29.11.2016 13:56

vanoha,
дружок, в чем разница между TypeScript и JavaScript (es3,es5,es6)?

vanoha 29.11.2016 14:12

Значит не правильно я что то понял.
В общем вопрос в том, как сделать так что бы код работал во всех браузерах?
class MyClass {
  constructor(mess){
    this.mess=mess;
    this.vis();
  }
  vis(){alert("Сообщение: "+this.mess);}
};

var mes = new MyClass("Тра-ля-ля");

Например в хроме и яндексе он работает, в ie11 - нет...


Часовой пояс GMT +3, время: 07:06.