Javascript Typescript在语法上与es6/es7有多少不同

Javascript Typescript在语法上与es6/es7有多少不同,javascript,typescript,ecmascript-6,ecmascript-2016,ecma,Javascript,Typescript,Ecmascript 6,Ecmascript 2016,Ecma,Typescript在语法上与es6/es7有多少不同。 我们在Typescript中有如下代码: class demo { demoProp:any; constructor () { //... } } 但是es6不需要:在属性之后有任何来声明它吗? 那么,我应该继续使用Typescript,还是应该直接学习es6,因为它是标准的JavaScript。 注意:-我知道TypeScript是基于类型的,也是es6的超集。但是ecma脚本在不久的将来或在

Typescript在语法上与es6/es7有多少不同。 我们在Typescript中有如下代码:

class demo {
    demoProp:any;
    constructor () {
        //...
    }
}
但是
es6
不需要
:在属性之后有任何
来声明它吗?
那么,我应该继续使用Typescript,还是应该直接学习
es6
,因为它是标准的
JavaScript

注意:-我知道
TypeScript
是基于类型的,也是
es6
的超集。但是
ecma脚本
在不久的将来或在其下一个版本
7
8

中很可能是
TypeScript
,您在TypeScript中有类型、访问修饰符和属性:

class demo {
    public demoProp: any;
    constructor(demoProp:any) {
        this.demoProp = demoProp;
    }
}
您还可以具有泛型类型和接口:

interface Demo<T> {
    demoProp: T
}

class demo<T> implements Demo<T> {
    public demoProp: T;
    constructor(demoProp: T) {
        this.demoProp = demoProp;
    }
}
我会学习TypeScript,因为它们之间的差别不大,如果你学习TypeScript,你也会知道ES6,所以你可以一次性学习两种语言


关于JavaScript变成TypeScript的问题是。

不,ECMAScript永远不会变成TypeScript。据我所知,没有打算在JavaScript中引入类型,因此TypeScript不会像javascript@Bergi我对未来不会这么肯定。Eccmascript 4已被废弃,具有静态类型。维基百科引用“政治分歧”作为放弃第4版的理由。没有什么比政客和政治分歧更不稳定了。@BrunoGrieder:ECMAScript需要保持向后兼容,并且永远不会强制执行静态键入。@RavinderPayal直接复制自Angular2 doc:“当noImplicitAny标志为false(默认值)时”,如果编译器无法根据变量的使用方式推断变量的类型,则会默认将变量的类型设置为“any”
class demo {
    constructor(demoProp) {
        this.demoProp = demoProp;
    }
}