JavaScript & TypeScript 学习总结

本文总结了JavaScript和TypeScript的基本概念与关键特性。在JavaScript部分,涵盖了字面量、变量、操作符、语句、关键字、数据类型和函数。在TypeScript章节,讨论了安装、数据类型、类型推论、联合类型、类、接口、泛型、装饰器、命名空间和JSX。TypeScript作为JavaScript的超集,增加了静态类型系统,提高了代码质量和可维护性。
摘要由CSDN通过智能技术生成

目录

JavaScript

JavaScript 字面量

JavaScript 变量

JavaScript 操作符

JavaScript 语句

JavaScript 关键字

JavaScript 数据类型

JavaScript 函数

TypeScript

1. 安装typescript

2. 数据类型

3. 类型推论

4. 联合类型

5. class

6. implements / extends

7. 泛型

8. 装饰器

9.namespace

9.JSX


JavaScript

JavaScript 是一个脚本语言。

它是一个轻量级,但功能强大的编程语言

JavaScript 字面量

在编程语言中,一般固定值称为字面量

数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)。

字符串(String)字面量 可以使用单引号或双引号。

表达式字面量 用于计算。

数组(Array)字面量 定义一个数组。

对象(Object)字面量 定义一个对象。

{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

函数(Function)字面量 定义一个函数。

function myFunction(a, b) { return a * b;}

JavaScript 变量

在编程语言中,变量用于存储数据值。

JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:

var x, length

x = 5

length = 6

 变量可以通过变量名访问。在指令式语言中,变量通常是可变的。字面量是一个恒定的值。

JavaScript 操作符

JavaScript使用 算术运算符 来计算值,使用赋值运算符给变量赋值。

JavaScript语言有多种类型的运算符:

类型 实例 描述
赋值,算术和位运算符 =  +  -  *  / 在 JS 运算符中描述
条件,比较及逻辑运算符 ==  != <  >  在 JS 比较运算符中描述

JavaScript 语句

在 HTML 中,JavaScript 语句用于向浏览器发出命令。语句是用分号分隔。

JavaScript 关键字

JavaScript 关键字用于标识要执行的操作。

和其他任何编程语言一样,JavaScript 保留了一些关键字为自己所用。

var 关键字告诉浏览器创建一个新的变量。

JavaScript 数据类型

JavaScript 有多种数据类型:数字,字符串,数组,对象等等。

JavaScript 函数

JavaScript 语句可以写在函数内,函数可以重复引用。

引用一个函数 = 调用函数(执行函数内的语句)。

function myFunction(a, b) {
    return a * b;                                // 返回 a 乘以 b 的结果
}

TypeScript

typescript:javasscript的超集 ,添加了类型系统的 JavaScript,适用于任何规模的项目。
我们都知道JavaScript是一种弱类型的语言。而TypeScript增强了它的类型。
TypeScript 的[核心设计理念]:在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型系统来提高代码的可维护性,减少可能出现的 bug。

TypeScript JavaScript
JavaScript 的超集用于解决大型项目的代码复杂性 一种脚本语言,用于创建动态网页
可以在编译期间发现并纠正错误 是静态类型 作为一种解释型语言,只能在运行时发现错误,是动态类型
强类型,支持静态和动态类型 弱类型,没有静态类型选项
最终被编译成 JavaScript 代码,使浏览器可以理解 可以直接在浏览器中使用
支持模块、泛型和接口 不支持模块,泛型或接口
社区的支持仍在增长,而且还不是很大 大量的社区支持以及大量文档和解决问题的支持

动态类型是指在运行时才会进行类型检查
静态类型是指编译阶段就能确定每个变量的类型

1. 安装typescript

npm install -g typescript

编译ts文件(生成对应的js文件,)

tsc  xxx.ts

2. 数据类型

原始数据类型:Boolean , String , Number , null , undefined ,Symbol
其他数据类型: Arrsy , Enum , Any , Never , Object , Void , Unknow , Tuple

  • Symbol
    es6中新增的一个类型,表示独一无二的值.Symbol 值通过Symbol()函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

let a  = Symbol()
let b = Symbol('b')
let d = Symbol()
a == b // false
  • unknow ,any
    在ts中any被成为全局超级类型,可以逃避类型检测
    unknow也是另一种超级类型,但是unknow类型只能被赋值 unknow类型 和any类型

let value:unknown ;
let value2: any =value 
let value3: boolean = value // Type 'unknown' is not assignable to type 'boolean
  • tuple
    一般数组是由同种类型的值组成,但是元组可以满足数组中含有不同类型的要求,

let data:[boolean , number , string] = [true ,123,'111']

3. 类型推论

如果没有明确的指定类型,那么 T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值