从零开始学习React:掌握前端开发的核心技能——更新中

一、了解ts

1、ts是js的超集

即你可以在ts中使用原生js语法:JavaScript + 更多功能 = TypeScript**
js是弱类型语言,而ts对此进行了加强
在这里插入图片描述

二、掌握ts基本写法

1、数据类型

(1)基本数据类型

js的基本数据类型:String、Number、NULL、Undefined、Boolean、Symbol、BigInt
ts增加了写法

1.1数字类型

//表示这个变量num是number类型的,如果赋值不是number会报错,其他类型一样
let num: number = 10   

let num1 : number = 0b1010 //二进制

1.2布尔类型

let isD: boolean = true
isD= false

1.3字符串

let str: string = 'a'
let str2: string = 'b'
//模板语法
console.log(`${str},${str1}`) //打印  a,b

…其他类型

1.4数组类型

//设置为什么类型就只能放什么
let list:number[]=[1,2,3]
let list0:Array<number>=[1,2,3]
//叫元组类型
let list1:[string, number]=['aa',10]

1.5枚举

enum Color{
	Red,
	blue,
	green
}

let color: Color = Color.red

1.6any和void

any:不清楚是什么类型用any,匹配任意字符

let str:any = 100
str = "abcdd"
let arr: any[] = [100,true,"abb"]

void:无类型,如果函数没有返回值可以用void

function showMsg():void{
	console.log(123)

}
//无返回值,函数返回的话为undefined

1.7object

function getObj(obj:object): object{
	return {}
}

1.8联合类型和类型断言

str可以传两种类型
断言两种写法:<>和as

function getStr(str: number | string): number{
	if((<string>str).length){ //数字
		return <string>str.length
	}else{  //字符串
		return str.toString().length
	}
}
function getStr(str: number | string): number{
	if(( str as string).length){ //数字
		return str.length
	}else{  //字符串
		return str.toString().length
	}
}

1.9类型推断

不明确类型ts会自动推断变量的类型

2、对象使用

interface IPerson{
	readonly id:number, //只读
	name:string,
	age?:number //可加可不加
}
const xiaoming: IPerson = {
	id:10,
	name:"小明"
}

interface Isearch{
	(source:string,subString:string):boolean
}
const searchString:Isearch = function(source:string, substring: string):boolean{
//查找字符串
	return source.search(substring)>-1
}

3、类

模仿Java的语法,面向对象的编程思想

class myclass{
	name:string,
	age:number,
	constructor(name:string,age:number){ //相当于构造器
		this.name = name
		this.age = age
	}
	sayHI(str:string){
		console.log(str,'你好')
	}
}

实现

interface one{
	fim(): any
}
interface two{
	light()
}
//实现,继承同java,要实现接口中的方法,可以多继承
class myclass implements one,two{
	fim(){}
	light(){
		console.log("飞机")
	}
}
const my1 = new myclass()
my1.light
my1.fim

继承

class person{
	name:string,
	age:number,
	constructor(name:string,age:number){
		this.name = name
		this.age = age
	}
	sayHI(str:string){
		console.log(str,'你好')
	}
}

class student extends person{
...
}

4、多态

对照java,这怎么像Java一样了

5、类修饰符

public公共的
private私有的
protected受保护

static静态的

6、存储器

class person{
	firstname:string,
	lastname:string,
	constructor(firstname:string,lastname:string){
		this.firstname = firstname
		this.lastname = lastname
	}
	get fullname(){
		return this.firstname+this.lastname
	}
	
}

7、抽象类

三、React开始

官网提供:
在这里插入图片描述

1、SWC认识,更快的babel

babelbabel转换,将你写的JS转换成大多数浏览器都支持的语法样式,但是它不够快,为啥呢,Babel是JavaScript写的,JavaScript就是有点慢
swcswc是基于Rust语言,17倍的速度提升
esbuildesbuild是由go语言写的。Vite工具,它就是使用的esbuild

2、创建项目

npm create vite@latest my-react

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用 Vite 创建 React 项目并使用 swc 作为转译工具,你可以按照以下步骤进行操作: 1. 确保你已经安装了 Node.js 和 npm。你可以在终端运行以下命令来检查是否已经安装: ``` node -v npm -v ``` 2. 安装 Vite 脚手架工具。在终端运行以下命令: ``` npm install -g create-vite ``` 3. 创建一个新的 Vite 项目。在终端运行以下命令: ``` create-vite my-react-app --template react ``` 4. 进入新创建的项目目录。在终端运行以下命令: ``` cd my-react-app ``` 5. 安装 swc 和相关的插件。在终端运行以下命令: ``` npm install --save-dev @swc/core @swc/cli ``` 6. 配置 Vite 使用 swc 进行转译。在项目根目录下创建一个名为 `vite.config.js` 的文件,并将以下代码添加到文件: ```javascript const { defineConfig } = require('vite'); module.exports = defineConfig({ esbuild: { jsxFactory: 'React.createElement', jsxFragment: 'React.Fragment', jsxInject: `import React from 'react'` }, plugins: [ { name: 'swc-loader', transform(code, id) { if (/\.tsx?$/.test(id)) { const { transformSync } = require('@swc/core'); const result = transformSync(code, { module: { type: 'commonjs' }, isModule: true, jsx: { factory: 'React.createElement', fragment: 'React.Fragment', pragmaFrag: 'React.Fragment' } }); return { code: result.code, map: result.map }; } } } ] }); ``` 7. 启动开发服务器。在终端运行以下命令: ``` npm run dev ``` 现在,你就可以在浏览器访问 `http://localhost:3000` 来查看并开发你的 React 应用了!该项目使用 swc 作为转译工具,以提供更快的构建速度和更小的包大小。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值