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=... />标签间接引用的其它文件。
    
  • 相关阅读:
    CREATE AGGREGATE
    技术文档列表
    jQuery 判断表单中多个 input text 中至少有一个不为空
    Java实现 蓝桥杯 算法提高 奥运会开幕式
    Java实现 蓝桥杯 算法提高 最长滑雪道
    Java实现 蓝桥杯 算法提高 最长滑雪道
    Java实现 蓝桥杯 算法提高 最长滑雪道
    Java实现 蓝桥杯 算法提高 最大值路径
    Java实现 蓝桥杯 算法提高 最大值路径
    Java实现 蓝桥杯 算法提高 最大值路径
  • 原文地址:https://www.cnblogs.com/wangting888/p/9702162.html
Copyright © 2011-2022 走看看