1234567891011121314151617181920module.exports = { printWidth: 120, // 单行长度 tabWidth: 2, // 缩进长度 useTabs: false, // 使用空格代替tab缩进 semi: false, // 句末使用分号 singleQuote: true, // 使用单引号 quoteProps: 'as-needed', // 仅在必需时为对象的key添加引号 jsxSingleQuote: true, // jsx中使用单引号 trailingComma: 'none', // 多行时尽可能打印尾随逗号 bracketSpacing: true, // 在对象前后添加空格-eg: { foo: bar } jsxBracketSameLine: true, // 多属性html标签的‘>’折行放置 arrowParens: 'avoid', // 单参数箭头函数参数周围使用圆括号-eg: ...
第二章:面向对象面向对象是程序中一个非常重要的思想,它被很多同学理解成了一个比较难,比较深奥的问题,其实不然。面向对象很简单,简而言之就是程序之中所有的操作都需要通过对象来完成。
举例来说:
操作浏览器要使用 window 对象
操作网页要使用 document 对象
操作控制台要使用 console 对象
一切操作都要通过对象,也就是所谓的面向对象,那么对象到底是什么呢?这就要先说到程序是什么,计算机程序的本质就是对现实事物的抽象,抽象的反义词是具体,比如:照片是对一个具体的人的抽象,汽车模型是对具体汽车的抽象等等。程序也是对事物的抽象,在程序中我们可以表示一个人、一条狗、一把枪、一颗子弹等等所有的事物。一个事物到了程序中就变成了一个对象。
在程序中所有的对象都被分成了两个部分数据和功能,以人为例,人的姓名、性别、年龄、身高、体重等属于数据,人可以说话、走路、吃饭、睡觉这些属于人的功能。数据在对象中被成为属性,而功能就被称为方法。所以简而言之,在程序中一切皆是对象。
1、类(class)要想面向对象,操作对象,首先便要拥有对象,那么下一个问题就是如何创建对象。要创建对象,必须 ...
第一章 快速入门0、TypeScript 简介
TypeScript 是 JavaScript 的超集。
它对 JS 进行了扩展,向 JS 中引入了类型的概念,并添加了许多新的特性。
TS 代码需要通过编译器编译为 JS,然后再交由 JS 解析器执行。
TS 完全兼容 JS,换言之,任何的 JS 代码都可以直接当成 JS 使用。
相较于 JS 而言,TS 拥有了静态类型,更加严格的语法,更强大的功能;TS 可以在代码执行前就完成代码的检查,减小了运行时异常的出现的几率;TS 代码可以编译为任意版本的 JS 代码,可有效解决不同 JS 运行环境的兼容问题;同样的功能,TS 的代码量要大于 JS,但由于 TS 的代码结构更加清晰,变量类型更加明确,在后期代码的维护中 TS 却远远胜于 JS。
1、TypeScript 开发环境搭建
下载 Node.js
64 位:https://nodejs.org/dist/v14.15.1/node-v14.15.1-x64.msi
32 位:https://nodejs.org/dist/v14.15.1/node-v14.15.1-x86.ms ...
TS + React 实现 todos 案例功能演示
展示任务列表
添加任务
父组件:App子组件:TodoAdd 、TodoList
展示任务列表思路使用状态提升(为父组件提供状态,通过 props 传递给子组件)来实现 父 → 子 通讯。
步骤
为父组件 App,提供状态(任务列表数据)和类型
为子组件 TodoList 指定能够接收到的 props 类型
将任务列表数据传递给 TodoList 组件
优化使用类型声明文件,实现类型共享。
创建 todos.d.ts 文件
将公共的类型移动到 todos.d.ts 文件中,并导出
在用到该类型的组件(App、TodoList)中导入这些类型
添加任务思路子组件获取到文本框的值,通过 子 → 父 通讯 将文本框的值传递给父组件。然后,在父组件中将任务添加到状态数据中。
步骤
为子组件添加状态和属性及其类型:
状态:文本框的值
属性:回调函数,接收一个 string 类型的参数
通过受控组件方式获取到文本框的值
在子组件文本框按下回车键时将数据传递给父组件
父组件接收子组件传递过来的任务名称(文本框的值)
将任务添加到父组件 ...