处于对超集这个概念的精确理解,我问了一下百度,发现我要被百度搞脑裂了。这AI还有待提高。发现这玩意有固化思维,网上很多数据会左右这玩意回答。也就是说如果有很多数据都说TypeScript是JavaScript超集,不管真假,他都信以为真,和Gossip传播很像,当谣言传播广了就成了真相,不管你怎么和它交流,它就是不会分析你的理由和结论,老是喜欢爬网页,然后搞出一些相互矛盾的结论。是那个国家的AI能替代程序员了,我还是觉得很厉害的。下面的图只是截图一些问答关键片段,AI收集的论据,看起来不算是论据,只能说是一些乌七八糟的数据,导致他总胡扯。但是它就是不看你的理由和结论,老是爬网页,扭不过来。



这里我就开始麻了





又说没有关系,也不是评判标准,但是老是拿兼容性分析,而且分析信息中已经透露出如果语法存在不兼容,那么只能说是伪超集或者非完全超集。超集这个词不是乱用的。但是它下面说了扩展集,想开始偷换概念。其实结论很简单,要么是,要么不是。或者你想狡辩一下说不完全是,我都可以认为你是又智商的。

又开始抽风了。你妈的就是睁眼说瞎话,对自己收集估计就是直接刨出来的。

你看它一边说不是一边又在和语法兼容性扯关系。


到了这里感觉这条AI被驯化了。从这里我们就可以得出结论:严格意义上说:为TypeScript不是JavaScript的超集。你认为它死性改了,其实不然,我们再试一下。

看这家伙有死性不改了。看我再给它喂点恢复理智的药

看上面明明写了所属合法的JavaScript代码都能在TypeScript中运行。下面再提一个问题:

又开始扯犊子了。
实际
//GreeterB 在JavaScript中是能正常运行的,但是在TypeScript中式不能通过编译的
class GreeterB {
constructor(message) {
this.greeting = message;
}
greet() {
console.log(this.greeting);
}
}
//TypeScript正常运行
class GreeterA {
greeting//修改点
constructor(message) {
this.greeting = message;
}
greet() {
console.log(this.greeting);
}
}
//实际上GreeterA编译之后并不是用javascript中B的那种方式,式用的原型prototype
var GreeterA = /** @class */ (function () {
function GreeterA(message) {
this.greeting = message;
}
GreeterA.prototype.greet = function () {
console.log("Hello, " + this.greeting);
};
return GreeterA;
}());
//如果不看这个输出,我估计大家都可能会想到翻译后的代码应该是像B一样