Javascript typeScript传输和创建跨浏览器友好代码
TypeScript是否消除了您是否应该使用这样的代码的顾虑(当您知道某些浏览器(如IE)可能不支持Javascript typeScript传输和创建跨浏览器友好代码,javascript,typescript,internet-explorer,Javascript,Typescript,Internet Explorer,TypeScript是否消除了您是否应该使用这样的代码的顾虑(当您知道某些浏览器(如IE)可能不支持indexOf?) TypeScript传输过程是否生成保证在所有浏览器上运行的正确JavaScript代码?(假设TypeScript配置设置为ES5)。TypeScript确实执行许多低级编译,但indexOf不是其中之一。如果您的目标是ECMAScript 5,indexOf无论如何都会被包括在内,因为它在-中,但即使您的目标是ECMAScript 3,它也不会为您修复 在所有情况下,底层编
indexOf
?)
TypeScript传输过程是否生成保证在所有浏览器上运行的正确JavaScript代码?(假设TypeScript配置设置为ES5)。TypeScript确实执行许多低级编译,但
indexOf
不是其中之一。如果您的目标是ECMAScript 5,indexOf
无论如何都会被包括在内,因为它在-中,但即使您的目标是ECMAScript 3,它也不会为您修复
在所有情况下,底层编译都是在标准版本之间进行的,而不是为了平滑浏览器兼容性
下面是两个底层编译的示例。在每种情况下,输出取决于您使用target:“ES5”
标志瞄准的版本
让/常数
打字稿。允许使用块作用域变量
const x = 'loaded';
{
const x = 'new value';
}
// loaded
console.log(x);
const x = "loaded";
for (const char of x) {
console.log(char);
}
JavaScript。内部变量x
重命名为x_1
,以防止命名冲突
var x = 'loaded';
{
var x_1 = 'new value';
}
// loaded
console.log(x);
迭代
打字稿。允许使用循环的
const x = 'loaded';
{
const x = 'new value';
}
// loaded
console.log(x);
const x = "loaded";
for (const char of x) {
console.log(char);
}
JavaScript。循环转换为一个不太优美的循环,但与循环更兼容
var x = "loaded";
for (var _i = 0, x_1 = x; _i < x_1.length; _i++) {
var char = x_1[_i];
console.log(char);
}
var x=“已加载”;
对于(var_i=0,x_1=x;_i
TypeScript确实执行许多底层编译,但indexOf
不是其中之一。如果您的目标是ECMAScript 5,indexOf
无论如何都会被包括在内,因为它在-中,但即使您的目标是ECMAScript 3,它也不会为您修复
在所有情况下,底层编译都是在标准版本之间进行的,而不是为了平滑浏览器兼容性
下面是两个底层编译的示例。在每种情况下,输出取决于您使用target:“ES5”
标志瞄准的版本
让/常数
打字稿。允许使用块作用域变量
const x = 'loaded';
{
const x = 'new value';
}
// loaded
console.log(x);
const x = "loaded";
for (const char of x) {
console.log(char);
}
JavaScript。内部变量x
重命名为x_1
,以防止命名冲突
var x = 'loaded';
{
var x_1 = 'new value';
}
// loaded
console.log(x);
迭代
打字稿。允许使用循环的
const x = 'loaded';
{
const x = 'new value';
}
// loaded
console.log(x);
const x = "loaded";
for (const char of x) {
console.log(char);
}
JavaScript。循环转换为一个不太优美的循环,但与循环更兼容
var x = "loaded";
for (var _i = 0, x_1 = x; _i < x_1.length; _i++) {
var char = x_1[_i];
console.log(char);
}
var x=“已加载”;
对于(var_i=0,x_1=x;_i
Typescript编译器不创建特定于浏览器的代码,这仍然是开发人员的责任。Typescript编译器不创建特定于浏览器的代码,这仍然是开发人员的责任。