zoukankan      html  css  js  c++  java
  • 写给自己的TypeScript 入门小纲

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

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

    我的学习笔记之TypeScript浅了解

    TypeScript的基本

    5640239-8983ae93b9274a88.png
    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=... />标签间接引用的其它文件。
    
  • 相关阅读:
    Windows创建和使用IP安全策略(IPSec)
    SPOJ LCS2(Longest Common Substring II-后缀自动机向父亲更新)
    poj1125 Floyd算法
    Unity-动态显示窗口制作思路
    Unity-UI架构优化小技巧
    Unity脚本启动顺序调整方法
    Unix/Linux编程实践教程阅读笔记-终端注销代码-来自第二章P54-P57的笔记
    Unix/Linux编程实践教程阅读笔记-who指令实现的优化-来自第二章P48-P54的笔记
    Unix/Linux编程实践教程阅读笔记-who指令的实现(Mac下的实现)-来自第二章P25-P44的笔记
    Unity定制脚本模版--自动添加头部注释
  • 原文地址:https://www.cnblogs.com/ting6/p/9725947.html
Copyright © 2011-2022 走看看