当前播放: 01 | 重塑“类型思维”
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:基础篇 (21讲)
01 | 重塑“类型思维”
免费
02 | 类型基础(1):强类型与弱类型
免费
03 | 类型基础(2):动态类型与静态类型
免费
04 | 编写你的第一个TypeScript程序
免费
05 | 基本类型
免费
06 | 枚举类型
07 | 接口(1):对象类型接口
08 | 接口(2):函数类型接口
09 | 函数相关知识点梳理
10 | 类(1):继承和成员修饰符
11 | 类(2):抽象类与多态
12 | 类与接口的关系
13 | 泛型(1):泛型函数与泛型接口
14 | 泛型(2):泛型类与泛型约束
15 | 类型检查机制(1):类型推断
16 | 类型检查机制(2):类型兼容性
17 | 类型检查机制(3):类型保护
18 | 高级类型(1):交叉类型与联合类型
19 | 高级类型(2):索引类型
20 | 高级类型(3):映射类型
21 | 高级类型(4):条件类型
第二章:工程篇 (10讲)
22 | ES6与CommonJS的模块系统
23 | 使用命名空间
24 | 理解声明合并
25 | 如何编写声明文件
26 | 配置tsconfig.json(1):文件选项
27 | 配置tsconfig.json(2):编译选项
28 | 配置tsconfig.json(3):工程引用
29 | 编译工具:从ts-loader到Babel
30 | 代码检查工具:从TSLint到ESLint
31 | 使用Jest进行单元测试
第三章:实战篇 (16讲)
32 | 创建项目
33 | 组件与类型(1):函数组件与类组件
34 | 组件与类型(2):高阶组件与Hooks
35 | 事件处理与数据请求
36 | 列表渲染与路由
37 | Redux与类型
38 | 搭建服务端开发环境
39 | 列表的CRUD
40 | 导出Excel
41 | 搭建Vue开发环境
42 | 组件封装
43 | 组件发布
44 | 共存策略
45 | 宽松策略
46 | 严格策略
47 | 结束语
01 | 重塑“类型思维”

01 | 重塑“类型思维”

梁宵
搜狗营销事业部高级架构师
47讲 约450分钟3080
单独订阅¥129
2人成团¥99
4
本节摘要

你好,我是梁宵,先后就职于百度和搜狗,目前负责广告平台的研发和技术管理工作,也是《hapi.js 实战》和《JavaScript ES6 函数式编程》的译者。

TypeScript 缘起

在过去的十年里,我一直从事前端开发工作,亲自见证了 Atwood 定律,那就是:“任何能用 JavaScript 实现的应用,最终都会用 JavaScript 实现。”如今,从移动终端到后端服务,从 IoT 到神经网络,它几乎无处不在。如此广阔的应用领域,自然对语言的安全性、健壮性和可维护性有更高的要求。

尽管 ECMAScript 标准在近几年有了长足的进步,但在类型检查方面依然无所建树。你是否经常遇到这样的场景:

场景一:你调用一个别人写的函数,但是很不幸,这个家伙没有留下任何注释,为了搞清楚参数类型,你只能硬着头皮去看里面的逻辑。
场景二:为了保证代码的健壮性,你很有责任心,对一个函数的输入参数进行各种假设,最终给老板盛上了一碗香喷喷的意大利面。
场景三:领导看好你,让你维护一个重要的底层类库,你殚精竭虑,优化了一个参数类型,但不知道有多少处引用,在提交代码前,是否感到脊背发凉?
场景四:明明定义好了接口,可一联调就报错了:“TypeError: Cannot read property ‘length’ of undefined”,于是你怒气冲冲地去找后端理论:“嘿,哥们儿!这个字段是数组!这个字段是数组!这个字段是数组!”

展开
登录 后留言

精选留言(15)

  • 王炳祺
    老师被你华丽的言语所吸引了,一个语言被你介绍的如此生动形象,佩服佩服。我觉一个程序员会写代码真的不牛逼。会写代码并且还能口吐莲花的程序员,非常的Skr~。
    2019-07-17
    21
  • 小美
    请问老师,TypeScript 可以被翻译为 JS,但这并不意味着 TS 是编译型语言对吧?那为什么用编译这个词呢?为什么不选择翻译,这样的词汇;TS 编译大概是怎样编译的呢?

    作者回复: 翻译是一种简单的映射,而编译则包含复杂的转换过程,含义更加确切。广义的编译是指把源语言转换成目标语言的过程,比如 TypeScript 编译器会先扫描源代码,把它转换抽象语法树,然后再转换成 JavaScript;狭义的编译是指把源语言转换成机器码,需要这种转换的语言通常称为编译型语言(比如C++),而 TypeScript 的产物 JavaScript 则是解释型语言。

    2019-07-17
    13
  • 强烈推荐大家学习,相较于 react vue 之类的框架,学习 ts 更为重要,也是趋势,进大厂必备技能之一
    2019-07-17
    10
  • 一粟
    不知道微软的ts能活多长时间😁

    作者回复: 活多久不太重要,掌握思想就能把握未来:)

    2019-07-17
    2
  • 九九
    您好,请问梁老师,typeScript怎么编译成javaScript呢?

    作者回复: 使用 tsc 或 babel

    2019-08-19
    1
  • 涔芒果🐷
    请问下mobx+ts的开发脚手架, 功能组件通过inject注入,但是在使用组件依然提示需要传入props需要的值,该如何处理

    作者回复: 这个问题太模糊了,提供的信息量太少,最好提供一个GitHub地址,贴出完整的代码来。

    2019-07-30
    1
  • 收我为徒一定不会砸了你的招牌
    梁霄老师你好,我正在看你的hapi.js实战,想问下你hapi有没有前途,想最快涨工资的话要不要首先学习hapi

    作者回复: Express是还目前Node主流框架,hapi略小众

    2019-07-19
    1
    1
  • 何用
    讲 TypeScript,怎么可以缺和 JSON Schema 结合的应用呢

    作者回复: 感谢建议,实战篇会考虑加入

    2019-07-18
    1
  • Witee
    请问4个实战项目中有没有 create-react-app + TS 环境的?

    作者回复: 有的

    2019-07-17
    1
  • 高瑞
    我的项目是react 技术栈,适合渐进式地迁移TS 吗?一个一个jsx 改造成TS ?

    作者回复: 当然适合,前期可以js、ts并存,如有必要可以逐步改造。可参见课程最后一部分内容,GitHub上也有思维导图。

    2019-10-29
  • 白闹
    老师,我想问下我现在有个react项目,里边有很多组件需要陆续添加,因为项目非常大,想逐步迁移到ts,请问有什么办法,可以让项目一边编译js,一边编译ts么?

    作者回复: 课程最后几节详细讨论了这个问题,GitHub中的思维导图也有提纲

    2019-10-15
  • Damoness
    重塑类型思维
    2019-09-06
  • 海的那一边
    应该既不是编译(compile)也不是解释(interprete). 英文对一系列基于js的语言起了个新名词,transpile. 我粗浅的翻译为 - 转译
    2019-08-06
  • 不断奋进的码农
    看了提纲感觉很实用啊,期待后面的课程!已购!
    2019-07-18
  • 小庆⁶⁶⁶
    怎么缓存在本地呀
    2019-07-17
收起评论
看过的人还看
玩转webpack

程柳锋  腾讯高级工程师,IVWEB团队社区和工程化负责人

84讲 | 5522 人已学习

拼团 ¥79 原价 ¥99
浏览器工作原理与实践

李兵  前盛大创新院高级研究员

43讲 | 6351 人已学习

拼团 ¥79 原价 ¥99
Node.js开发实战

杨浩  腾讯高级工程师

57讲 | 3923 人已学习

拼团 ¥99 原价 ¥129
JavaScript核心原理解析

周爱民  《JavaScript语言精髓与编程实践》作者,南潮科技(Ruff)首席架构师

21讲 | 3704 人已学习

拼团 ¥55 原价 ¥68