TypeScript
ts在社区的活跃度越来越高
ts是js的超集。ts可以在编译时发现并纠正错误,而js只能在运行时发现错误
ts带来了什么?
- 类型安全
- 支持了一些编译器
ts的基础类型
- boolean,number,string
- 枚举enum
- any,unknown,void
- never
- 数组类型[ ]
- 元组类型 tuple
- 函数类型(ts定义函数类型时要定义输入参数类型和输出参数类型)
- 接口(接口是为了定义对象类型)
- 类(写法和js差不多,增加了一些修饰符、有抽象类、interface约束类用implements)
ts高级类型
-
联合类型|
-
交叉类型&
-
类型断言
-
类型别名
-
泛型(考虑到可重用性),不仅考虑到当前能用的数据类型,也要考虑到未来可能会用到的数据类型。解决输出、输入可关联的问题。泛型的作用是临时占位,之后通过传来的类型进行推导。泛型的类型参数一般用T表示。在定义函数的时候使用泛型,在使用函数传参的时候使用的是自己需要的数据类型。使用时可以显示说明自己用的参数类型,也可以不说明,ts会有类型推断功能,根据传的参自动推导类型为xxx。extends泛型约束
泛型中常用的操作符:
typeof获取类型,keyof获取所有键,in遍历枚举类型,T[K]索引访问,extends泛型约束
常用的泛型工具:
Partial:将类型属性变为可选
Required:将类型属性变为必选
Readonly:将类型属性变为只读
Pick、Record
ts声明文件
- declare:三方库需要类型声明文件
- .d.ts:声明文件定义
- @types:三方库TS类型包
- tsconfig.json:定义TS的配置
CSS操作
$('#test-ul li[name="python"]').css('background-color','antiquewhite');//键值对
元素的隐藏和显示:
$('#test-ul li[name="python"]').show();
$('#test-ul li[name="python"]').hide();//本质可能是display:none ## 关于执行顺序
- html是按文档流顺序执行
- js里的代码,调用alert、prompt、confirm的代码会优先执行。即alert()和prompt()它们会跳过页面渲染先被执行。其余自上而下顺序执行
字面量
在计算机科学中,字面量是在计算机中描述事/物。看到它就知道它是什么类型的字面量
比如1000,是数字字面量
比如‘wlx’,是字符串字面量
比如[1,2,3],是数组字面量
比如{name:"wlx",age:"19"},是对象字面量
比如 true和false是布尔型字面量 ### ,符号
console.log(age,name)也是可以的,可以用逗号,这样一次打印多个变量
逗号也能用在同时声明多个变量时,但是不建议这样写,为了更好的可读性,提倡一次、一行声明一个。 class关键字是在ES6出现的,所以在还未支持ES6规范的浏览器上不支持
ES6中的class可以看作只是一个语法糖,它的绝大部分的功能,ES5都可以做到,新的class写法只是让原型的写法更加的清晰、更像面向对象编程的语法而已。下文也会进一步的说明。(摘自阮一峰的ES6入门)