当前位置: 首页 > wzjs >正文

广州商旅网站制作杭州seo网站建设

广州商旅网站制作,杭州seo网站建设,网站被黑咋样的,现在疫情最新消息1. TypeScript 介绍 TypeScript 是 JavaScript 的超集,由微软开发并维护,它添加了可选的静态类型系统和基于类的面向对象编程。 核心优势: 类型检查:在编译时捕获错误,减少运行时错误更好的代码提示:IDE…

1. TypeScript 介绍

TypeScript 是 JavaScript 的超集,由微软开发并维护,它添加了可选的静态类型系统和基于类的面向对象编程。

核心优势

  • 类型检查:在编译时捕获错误,减少运行时错误
  • 更好的代码提示:IDE 可以提供更准确的自动完成和文档提示
  • 代码可维护性:类型注解使代码更易于理解和维护
  • 渐进式采用:可以逐步将 JavaScript 项目迁移到 TypeScript

2. TypeScript 初体验

安装与配置

npm install -g typescript
tsc --init  # 生成 tsconfig.json

基本使用示例

// 定义接口
interface User {name: string;age: number;
}// 类型注解
function greet(user: User): string {return `Hello, ${user.name}!`;
}// 使用
const currentUser = { name: "Alice", age: 25 };
console.log(greet(currentUser));

3. TypeScript 常用类型

基础类型

let isDone: boolean = false;
let count: number = 42;
let name: string = "TypeScript";// 数组
let list: number[] = [1, 2, 3];
let genericList: Array<number> = [1, 2, 3]; // 泛型语法// 元组
let tuple: [string, number] = ["hello", 10];// 枚举
enum Color { Red, Green, Blue }
let c: Color = Color.Green;

特殊类型

// any - 跳过类型检查
let notSure: any = 4;
notSure = "maybe a string";// void - 表示没有返回值
function warnUser(): void {console.log("This is a warning");
}// never - 表示永远不会返回
function error(message: string): never {throw new Error(message);
}

接口与类型别名

// 接口
interface Point {x: number;y: number;z?: number; // 可选属性readonly id: number; // 只读属性
}// 类型别名
type PointType = {x: number;y: number;
};// 函数类型
interface SearchFunc {(source: string, subString: string): boolean;
}

4. TypeScript 高级类型

联合类型与交叉类型

// 联合类型
let padding: string | number;// 交叉类型
interface A { a: number }
interface B { b: string }
type C = A & B; // { a: number, b: string }

泛型

function identity<T>(arg: T): T {return arg;
}// 泛型接口
interface GenericIdentityFn<T> {(arg: T): T;
}// 泛型类
class GenericNumber<T> {zeroValue: T;add: (x: T, y: T) => T;
}

条件类型

type IsString<T> = T extends string ? true : false;
type A = IsString<string>; // true
type B = IsString<number>; // false

映射类型

type Readonly<T> = {readonly [P in keyof T]: T[P];
};type Partial<T> = {[P in keyof T]?: T[P];
};

5. TypeScript 类型声明文件

声明文件 (.d.ts)

// 声明全局变量
declare const __VERSION__: string;// 声明模块
declare module "*.css" {const classes: { [key: string]: string };export default classes;
}// 声明命名空间
declare namespace Express {interface Request {user?: User;}
}

使用 DefinitelyTyped

npm install --save-dev @types/lodash

6. 在 React 中使用 TypeScript

组件 Props 和 State

interface Props {name: string;age?: number;
}interface State {count: number;
}class MyComponent extends React.Component<Props, State> {state: State = {count: 0};render() {return <div>{this.props.name}</div>;}
}

函数组件

interface Props {message: string;
}const FunctionComponent: React.FC<Props> = ({ message }) => {return <div>{message}</div>;
};

Hooks 类型

const [count, setCount] = useState<number>(0);const user = useRef<User | null>(null);useEffect(() => {// 副作用逻辑
}, [count]);

事件处理

const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {console.log(e.target.value);
};const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {e.preventDefault();// 处理点击
};

总结

TypeScript 为 JavaScript 开发带来了类型安全性和更好的开发体验。从基础类型到高级特性,再到与 React 的集成,TypeScript 都能显著提升代码质量和开发效率。渐进式采用策略使得现有 JavaScript 项目可以平滑迁移到 TypeScript。

http://www.dtcms.com/wzjs/159623.html

相关文章:

  • 做网站的公司金坛七台河网站seo
  • 网站做视频转流量百度刷搜索词
  • 棋牌游戏网站怎么做seo排名点击工具
  • windows2012做网站关键词代发排名
  • 免费做网站网络营销的特征和功能
  • 网站开发及应用大数据营销推广精准粉
  • 网站pc端和手机端分离怎么做有没有好用的网站推荐
  • 企业网站建设cms站免费的电脑优化软件
  • 兴义网站seo福州网站快速排名提升
  • 做慕课的网站熊猫关键词挖掘工具
  • 佛山南海区建设局网站少儿编程培训机构排名前十
  • 网站建设可以一次性进损益吗关键词排名关键词快速排名
  • 专业的画册设计网站青岛的seo服务公司
  • 自动化营销网站建设中央新闻频道直播今天
  • 西安代做毕业设计网站360营销
  • 1998年和平区政府网站建设回顾成都最新消息今天
  • 智能建站收费标准seo技术是什么意思
  • 做电商网站都需要学什么条件网络营销工具
  • asp汽车销售公司网站源码 4s店网站源码 汽车网站建设 完整无济南seo的排名优化
  • 做网站收广告费小红书指数
  • asp.net网站开发实训地推公司
  • 做AI免费网站无人区在线观看高清1080
  • dw软件网站建设教程视频企业查询宝
  • 自己做qq头像网站指数分布的分布函数
  • 郑州直播网站建设seo是干什么的
  • 做珠宝的网站中国十大营销策划机构
  • wordpress 收款插件seo是付费还是免费推广
  • 网站建设推广最佳bt磁力猫
  • 移动的网络网站建设百度seo和sem的区别
  • 花网站开发背景semiconductor