TS和JS类型对比

JavaScript类型不明确

myVar="String"
myVar=28  //可以

TypeScript类型明确

1、类型明确
myVar="String"
myVar=28  //不行
2、类型声明
myVar:string="hello"
myVar:boolean=true
myVar:any  //可以是任何类型
3、TypeScript类
class Car{
	wheels:number=4
	drive{
		console.log('厚德载物,车能载人‘)
	}
}
myCar:Car=new Car()
4、TypeScript构造函数
class Car{
	speed:number;
	constructor(mph:number){
		this.speed=mph;
	}
}
myCar:Car=new Car(70)
5、TypeScript可见度
(1)public 属性公开,任何类都可以访问该属性
(2)protected  受保护的,只有属于该属性的子类才能访问
(3)private 私有的,只有本身之内才可访问
6、TypeScript箭头函数
[lambda](https://baike.baidu.com/item/Lambda%E8%A1%A8%E8%BE%BE%E5%BC%8F/4585794?fr=aladdin)表达式
(1)  ()=>相当于 function()
(2)  ()=>{ something }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你可以使用 JavaScript 或 TypeScript 来实现比较两段 Markdown 文本的差异,从而快速找出修改的位置、内容和类型。 具体实现方式是:使用文本比较库(例如:JSDiff、Lodash Diff、Diffy.js 等),通过比较两段文本的差异,得出修改前后的差异结果。这些库提供了许多有用的函数,例如:计算文本差异、生成差异报告等。您可以通过对比差异结果,找出修改的位置、内容和类型。 ### 回答2: 要快速找出一段Markdown文本修改的位置、修改的内容以及修改的类型,可以使用jsts语言进行处理。下面介绍一种基于js的方法。 首先,将原始的Markdown文本和修改后的Markdown文本分别存储在两个字符串变量中。然后,可以通过以下步骤找出修改的位置、内容以及类型: 1. 比较两个字符串:使用字符串比较函数(例如 `localeCompare` 或 `===`)将原始文本和修改后的文本逐字符进行比较。找出不同之处。 2. 找出修改的位置:记录不同之处的起始索引和结束索引。这些索引可以用于标识修改的位置。 3. 找出修改的内容:通过提取从起始索引到结束索引之间的子字符串,即可得到修改的内容。 4. 找出修改的类型:根据修改的内容,可以判断修改的类型。例如,如果修改是增加了某些文本,则类型是“添加”。如果修改是删除了某些文本,则类型是“删除”。如果修改是替换了某些文本,则类型是“替换”。 需要注意的是,此方法仅适用于无格式化的文本比较,对于Markdown的特定语法(如标题、引用块、列表等),可能需要使用更复杂的方法进行解析和比较。 总结起来,通过比较原始Markdown文本和修改后的Markdown文本字符串,可以找出修改的位置、内容和类型。这样做可以快速定位到文本的修改部分,并且可以根据修改的内容和类型进行进一步处理。 ### 回答3: 使用JavaScript或TypeScript可以快速找出Markdown文本的修改位置和内容以及修改的类型。下面是一个示例代码: ```javascript function findMarkdownChanges(oldText, newText) { const oldLines = oldText.split('\n'); const newLines = newText.split('\n'); const changes = []; for (let i = 0; i < oldLines.length; i++) { if (oldLines[i] !== newLines[i]) { // 行内容有修改 const change = { type: 'line', lineNumber: i + 1, oldContent: oldLines[i], newContent: newLines[i] }; changes.push(change); } if (i >= newLines.length) { // 修改后的文本比修改前短 const change = { type: 'removal', lineNumber: i + 1, content: oldLines[i] }; changes.push(change); } } // 修改后的文本比修改前长 for (let i = oldLines.length; i < newLines.length; i++) { const change = { type: 'addition', lineNumber: i + 1, content: newLines[i] }; changes.push(change); } return changes; } const oldText = '旧的Markdown文本'; const newText = '新的Markdown文本'; const changes = findMarkdownChanges(oldText, newText); console.log(changes); ``` 这段代码将旧的Markdown文本和新的Markdown文本分别按行切割为数组,然后逐行对比它们的差异。如果行内容不同,会生成一个包含行号、旧内容和新内容的对象,类型设为"line"。如果修改后的文本比修改前短,会生成一个包含行号和被删除行内容的对象,类型设为"removal"。如果修改后的文本比修改前长,会生成一个包含行号和被添加行内容的对象,类型设为"addition"。最后返回所有修改的对象数组。 运行上述代码后,将会输出一个包含修改位置和内容以及修改类型的数组,可以根据需要进一步处理这些信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值