写给自己的TypeScript 入门小纲

前几日,在知乎上写了一些技术类的文章,有人私信问我,是不是要找一份工作,有没有想过要跳槽,然后我回到,你们公司都是用的什么框架什么技术,他罗列了一堆,其中就包含了TypeScript,我甚至不知道有这样的一个单词,很羞愧的对他说,不好意思,我的技术太菜,达不到你的要求。

说完过后,我立马去网站上查找了一些资料进行学习,大致了解了一番,把自己get到的点都写在博客里面,有时间一一细致了解。

我的学习笔记之TypeScript浅了解

TypeScript的基本

Image.png

TypeScript具有类型系统,且是JavaScript的超集。
它可以编译成普通的JavaScript代码。
TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。
TypeScript与JavaScript相比进步的地方
包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;
增加一个完整的类结构,使之更新是传统的面向对象语言。

语法特性
类 Classes
接口 Interfaces
模块 Modules 
类型注解 Type annotations
编译时类型检查 Compile time type checking 
Arrow 函数 (类似 C# 的 Lambda 表达式)
工程配置:

使用tsconfig.json
不带任何输入文件的情况下调用tsc
编译器会从当前目录开始去查找tsconfig.json文件
逐级向上搜索父目录。
不带任何输入文件的情况下调用tsc
且使用命令行参数--project(或-p)指定一个包含tsconfig.json文     件的目录。
当命令行上指定了输入文件时,tsconfig.json文件会被忽略。
编码规范:
使用PascalCase为类型命名。
不要使用I做为接口名前缀。
使用PascalCase为枚举值命名。
使用camelCase为函数命名。
使用camelCase为属性或本地变量命名。
不要为私有属性名添加_前缀。
尽可能使用完整的单词拼写命名。
核心TypeScript编译器
语法分析器(Parser): 以一系列原文件开始, 根据语言的语法, 生成抽象语法树(AST)

联合器(Binder): 使用一个Symbol将针对相同结构的声明联合在一起(例如:同一个接口或模块的不同声明,或拥有相同名字的函数和模块)。这能帮助类型系统推导出这些具名的声明。

类型解析器与检查器(Type resolver / Checker): 解析每种类型的构造,检查读写语义并生成适当的诊断信息。

生成器(Emitter): 从一系列输入文件(.ts和.d.ts)生成输出,它们可以是以下形式之一:JavaScript(.js),声明(.d.ts),或者是source maps(.js.map)。

预处理器(Pre-processor): “编译上下文”指的是某个“程序”里涉及到的所有文件。上下文的创建是通过检查所有从命令行上传入编译器的文件,按顺序,然后再加入这些文件直接引用的其它文件或通过import语句和/// <reference path=... />标签间接引用的其它文件。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,725评论 25 709
  • 在保证视频图像质量的前提下,HEVC通过增加一定的计算复杂度,可以实现码流在H.264/AVC的基础上降低50%。...
    加刘景长阅读 12,481评论 0 6
  • 刘畅 咨询主管【日精进打卡第20天】 【知~学习】 《六项精进》1遍 共33遍 《大学》1遍 共34遍 《稻盛和夫...
    瑶瑶_8f95阅读 1,216评论 0 0
  • 如果把每一天都当成最后一天来过,我想人生会少了很多执念和纠结,多了几份平淡和真实,我们没有理由再不对自己好,太多的...
    敏子慧慧阅读 1,720评论 0 0
  • 文/宁夏初开 我还在回家的高速路上,身边的男孩慵懒的靠在椅背上玩游戏。我把头倚在车窗上,听着歌。 我偷偷看了看他,...
    宁夏初开阅读 2,444评论 6 11

友情链接更多精彩内容