【TypeScript】葵花宝典

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/greatbody/article/details/54429477

导语

我们知道JavaScript是一个弱类型语言,基本上可以说是鼓励我们随意的使用各种类型,大手大脚的使用变量。

然而,这样带来的问题也同样棘手,比如代码的问题无法通过编辑器来进行推倒,大型的工程可能会引入众多的bug,而无从下手。

TypeScript与其优势

TypeScript是由设计开发了C#,Delphi语言的大师设计开发的,综合了C#和Delphi的优秀点。TypeScript是JavaScript(ECMAScript)语言的超集,也就是说,JavaScript代码,可以直接粘贴到TypeScript中应用。

唯一需要注意的就是,从编辑器的效果上来讲,编辑器会检查语法中的类型问题,给出红色波浪线警示,但是编译不会报错。

TypeScript的编译

TypeScript是JavaScript的超集,它的编译结果,就是JavaScript,我们可以指定编译成ES5标准还是ES6标准或是其它标准。它的编译,就是退化。

语法特性集锦

终于开始正题了,这里将载明开发中遇到的问题,和由此发现的语法特性。

强制类型转换与接口

在编写某程序的时候,遇到一个函数的返回值是一个对象,对象的结构如下:

{
  "src": "https://www.baidu.com",
  "class": "link-pic"
}

我们的代码是这样的:

var item = getItem();
console.log(item.src);

然后,在VSCode中,会提示[ts] Property 'src' does not exist on type 'Object'.

就是因为在TypeScript中Object并没有这些属性,那么根据TypeScript的语法,这就是错误的。那么怎样转换呢?

我们用强制类型转换。
转换成什么呢?
我们转换成接口吧,接口的特性就是标明类型,但是不含具体数据。

说干就干,试试。

interface Attribute {
  class: string;
  src: string;
}

var item = <Attribute>getItem();
console.log(item.src);

果然,再没有提示异常了。

总结

谢谢,待续。还没有写完呢!

猜你喜欢

转载自blog.csdn.net/greatbody/article/details/54429477