当前位置: 首页 > news >正文

安卓图形网站建设周口河南网站建设

安卓图形网站建设,周口河南网站建设,网站制作公司套路,服务器网站部署端口配置文章目录 一、TypeScript 介绍1. TypeScript 是什么1.2 静态类型和动态类型1.3 Why TypeScript1.4 TypeScript 使用场景1.5 TypeScript 不仅仅用于开发 Angular 应用1.6 前置知识 二、如何学习 TypeScript2.1 相关链接 三、起步3.1 搭建 TypeScript 开发环境3.2 编辑器的选择3.…

文章目录

    • 一、TypeScript 介绍
      • 1. TypeScript 是什么
      • 1.2 静态类型和动态类型
      • 1.3 Why TypeScript
      • 1.4 TypeScript 使用场景
      • 1.5 TypeScript 不仅仅用于开发 Angular 应用
      • 1.6 前置知识
    • 二、如何学习 TypeScript
      • 2.1 相关链接
    • 三、起步
      • 3.1 搭建 TypeScript 开发环境
      • 3.2 编辑器的选择
      • 3.3 Hello World
    • 四、类和接口
      • 4.1 接口(Interface)
      • 4.2 类(Class)

一、TypeScript 介绍

在这里插入图片描述

1. TypeScript 是什么

在这里插入图片描述

TypeScript 是 JavaScript 的强类型版本。然后在编译期去掉类型和特有语法,生成纯粹的 JavaScript 代码。由于最终在浏览器中运行的仍然是 JavaScript,所以 TypeScript 并不依赖于浏览器的支持,也并不会带来兼容性问题。

TypeScript 是 JavaScript 的超集,这意味着他支持所有的 JavaScript 语法。并在此之上对 JavaScript 添加了一些扩展,如 class / interface / module 等。这样会大大提升代码的可阅读性。

和 JavaScript 若类型不同,TypeScript 这种强类型语言最大的优势在于静态类型检查,可以在代码开发阶段就预知一些低级错误的发生。

  • 一种类似于 JavaScript 的语言,在 JavaScript 的基础之上增加了类型,同时增强了 JavaScript 部分语法功能
  • 遵循 EcmaScript 6 标准规范
  • 由微软开发
  • Angular 2 框架采用 TypeScript 编写
  • 背后有微软和谷歌两大公司的支持
  • TypeScript 可以编译成 JavaScript 从而在支持 JavaScript 的环境中运行
  • TypeScript 和 JavaScript 的关系就好比 less 和 css 的关系

1.2 静态类型和动态类型

在这里插入图片描述

静态(static):无需运行,根据程序代码就能确定结果。

动态(dynamic):只有运行才能确定结果。

类型:对某个数据所具有的性质进行的描述。如它的结构是怎样的,能进行什么操作。

静态类型:数据拥有类型,且仅有数据拥有类型。

动态类型:数据拥有类型,存放数据的变量、表达式也拥有类型,且类型在编译时是固定的。

下图是静态语言和动态语言的比较:

在这里插入图片描述

从表中可见,动态语言和静态语言各有优劣,而TypeScript提供了静态语言强类型支持,同时兼容动态语言弱类型的语法,使用者根据项目需求自由选择。

这种动静结合的特性,目前还没在其他语言见过。

1.3 Why TypeScript

  • 从 Angular 2 之后,官方推荐使用 TypeScript 作为开发 Angular 应用的首选语言

  • 遵循 EcmaScript 6

  • 强大的 IDE 支持

    • 类型检查
    • 严谨的语法提示
  • 代码重构

  • 可读性良好

1.4 TypeScript 使用场景

  • 大型团队开发

  • Angular 官推语言

  • 其它…

    这里引用知乎上一位开发者对使用推广 TypeScript 的看法:

    typescript绝对是好东西,不过推广是有难度的:1、TS是微软制造,最好的开发工具是VS,想想有些人就激动了(什么vi流,sublime流,macbook流,虽然也能写ts,但你无法跟他们说用vs写有多么好);2、即使你告诉他们TS有多好,但是几十人的团队里总有一半以上的人不想学新的东西(当然我没有权利说不学新东西的人应该全部滚动,因为互联网打工的是大爷,想跳槽随便找工作);3、JSer很多没有学习OOP开发经验(特别是从设计/页面重构转过来的);4、很多人接触TS前根本没学过JS,经常有人问“使用TS如何写元素拖拽”这样的问题(那是DOM API好伐,不过你跟初学者很难解释明白);

1.5 TypeScript 不仅仅用于开发 Angular 应用

https://www.typescriptlang.org/samples/index.html

  • React
  • Angular
  • Node.js
  • Vue.js
  • WeChat

凡是可以写 JavaScript 的都可以使用 TypeScript。

1.6 前置知识

  • EcmaScript 6
  • TypeScript 概念及关系
  • 具有一定的 JavaScript 开发经验
  • 有 Java、C#、C++、C 等静态类型语言使用经验更佳

二、如何学习 TypeScript

  • 官方文档为准
  • 阅读别人的代码
  • 由于 TypeScript 是兼容 EcmaScript 6 的,所以在开发的时候不需要完全学会 TypeScript 再使用
  • 一个建议是有空就学,会了就用
  • 虽然兼容 EcmaScript 6,但建议既然使用了 TypeScript 就让你的 TypeScript 代码更加 TypeScript,这样才能发挥出 TypeScript 的威力。

2.1 相关链接

  • 维基百科 - TypeScript

  • 如何评价 TypeScript?

  • flow.js/typescript 这类定义参数类型的意义何在?

  • TypeScript Github

  • TypeScript 官网

  • TypeScript 中文网

三、起步

3.1 搭建 TypeScript 开发环境

  • 什么是 compiler?

  • less 编译器:less

  • EcmaScript 6 编译器:babel

  • TypeScript 编译器:typescript

  • 一句话:把 TypeScript 转换为 JavaScript ,浏览器就具有运行了

  • 在线测试编译环境 compiler

    • https://www.typescriptlang.org/play/index.html
  • 本地开发编译环境

    npm i -g typescript# 查看版本号
    tsc --version# 查看使用帮助
    tsc --help
    

3.2 编辑器的选择

  • Visual Studio Code
  • Sublime
  • Webstorm

3.3 Hello World

新建 greeter.ts 并写入以下内容:

function greeter(person) {return "Hello, " + person;
}let user = "Jane User";document.body.innerHTML = greeter(user);

安装编译器:

npm i -g typescript

编译:

tsc greeter.ts

修改 greeter.ts 文件中的代码,为 greeter 函数的参数 person 加上类型声明 :string

function greeter(person: string) {return "Hello, " + person;
}let user = "Jane User";document.body.innerHTML = greeter(user);

重新编译执行。

让我们继续修改:

function greeter(person: string) {return "Hello, " + person;
}let user = [0, 1, 2];document.body.innerHTML = greeter(user);

重新编译,你将看到如下错误:

error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'.

四、类和接口

4.1 接口(Interface)

interface Person {firstName: string;lastName: string;
}function greeter(person: Person) {return "Hello, " + person.firstName + " " + person.lastName;
}let user = { firstName: "Jane", lastName: "User" };document.body.innerHTML = greeter(user);

4.2 类(Class)

class Student {fullName: string;constructor(public firstName: string, public middleInitial: string, public lastName: string) {this.fullName = firstName + " " + middleInitial + " " + lastName;}
}interface Person {firstName: string;lastName: string;
}function greeter(person : Person) {return "Hello, " + person.firstName + " " + person.lastName;
}let user = new Student("Jane", "M.", "User");document.body.innerHTML = greeter(user);
http://www.yayakq.cn/news/649688/

相关文章:

  • 深圳有哪些招聘网站jsp网站开发文献
  • wordpress知名中国网站网站怎么做网页游戏
  • 深圳建站公司一般需要多久wordpress文章标题总有网站名
  • 网上翻译网站做译员课件ppt模板免费下载 素材
  • 潍坊 seo网站建设seo优化技巧有哪些
  • 设计师素材网站开发招才猫网站多少钱做的
  • 建设网站的重要性广州百度seo代理
  • 云南高端网站建设公司河南app开发公司
  • 网站开发中的渲染是什么意思有趣的wordpress插件
  • 网站tag作用网站建设公司有哪些原
  • 专做农产品跨境的网站有网站psd模版
  • 免费做网站的平台桐乡做网站的公司
  • 本地建站工具wordpress 打不开主题
  • 网站备案证图片wordpress响应慢
  • 作业3 主题资源网站建设响应式网站自助
  • php制作网站徐州地产开发公司排名
  • 网站学什么网站开发 方案
  • 静态网站公用头部如何调用标题wordpress没有图形界面
  • 做网站标题居中代码嘉定网站设计制作托管维护
  • 保定网站排名哪家公司好wordpress刷留言
  • 河南省建设厅网站首页设计wordpress主题下载
  • html全屏网站产品如何推广市场
  • 国内出名的设计网站有哪些中国建造师官方网站查询
  • 门户网站建设方案公司江苏交通建设监理协会网站
  • 谷歌做网站wordpress官网中文官网
  • 网站设计苏州自己怎么做鲜花网站
  • 电商网站总体设计方案网站建设图片滑动代码
  • 宜宾建设教育培训中心网站自己怎么做链接
  • thinkphp 网站源码四川住房城乡建设厅网站首页
  • 网站制作教程dw什么网站代做毕业设计比较好