【第10篇】TypeScript类型比较《Type Compatibility》 案例代码详解

1、类型比较Type Compatibility

  • ts代码
**
 * Type Compatibility
 * 类型比较.
 */
interface Named {
    name: string;
}
var x: Named;
//判断这个y的类型是{ name: string; location: string; }
var y = { name: 'Alice', location: 'Seattle' };
x = y;

var items = [1, 2, 3];

//不压迫强迫这些额外参数...
items.forEach((item, index, array) => console.log(item));

// Should be OK!
items.forEach((item) => console.log(item))

var k = () => ({name: 'Alice'});
var z = () => ({name: 'Alice', location: 'Seattle'});

k = z; // OK
//z = k; //这k()方法缺少了location属性.所以赋给z()方法是会报错的.
  • 生成的js代码
var x;
//判断这个y的类型是{ name: string; location: string; }
var y = { name: 'Alice', location: 'Seattle' };
x = y;
var items = [1, 2, 3];
//不压迫强迫这些额外参数...
items.forEach(function (item, index, array) { return console.log(item); });
// Should be OK!
items.forEach(function (item) { return console.log(item); });
var k = function () { return ({ name: 'Alice' }); };
var z = function () { return ({ name: 'Alice', location: 'Seattle' }); };
k = z; // OK
//z = k; //这k()方法缺少了location属性.所以赋给z()方法是会报错的.

工程源代码

TypeScript类型比较《Type Compatibility》 案例代码详解

博客所有文章是本人2014年撰写,而GItHub的源代码是有些是2014年与2015年进行整理,由于在2013年项目接触TypeScript,同时在当年接触KendoUI开发的时候TypeScript的影子,故一年后决定把官方文档所有API文档认真琢磨了一遍,并且撰写成一本最全的中文TypeScript入门指南详解案例教程与代码,当初的下载量还是比较高的。由于最近接触Kotlin,自从学习TypeScript,它的语法对我后面学习Kotlin有了极大的帮助,个人感觉,它的语法跟ActionScript,Swift写法很像。故虽然好几年没怎么开发前端,由于它的重要性特意重新花点进行整理这门前端语言。

你可能感兴趣的:(【第10篇】TypeScript类型比较《Type Compatibility》 案例代码详解)