当前位置:   article > 正文

1-2-2(上)FLOW概述_langflow官方文档

langflow官方文档

1.用ts解决js自有类型系统的问题
强类型和弱类型
静态类型和动态类型
js自有类型系统的问题
Flow静态类型检查方法 小工具
TS的语言规范和基本应用

2.类型系统 —强类型和弱类型 (类型安全)
2.1强类型 更强的类型约束 不会有隐式数据类型转换
实参类型和形参类型必须完全相同
2.2弱类型
不会限制实参的类型 语法上不存在问题 运行可能有问题

js是弱类型语言
python是强类型语言
  • 1
  • 2

3.静态类型和动态类型 (类型检查) strong
3.1静态 Groovy python || c# java
声明时数据类型不能变化 Dynamic————————————————————————————————————————————static
3.2动态 js || c c++
声明数据类型可变化 Weak
var foo =100
foo = ‘abc’

js是动态类型语言
python是动态类型语言
  • 1
  • 2

4.js是弱类型且动态类型语言
4.1特征 是 任性 灵活多变
4.2脚本语言 不需要编译

局限性也粗壮乃
  • 1

5.弱类型的问题 隐患多,需要大量约定
1.异常需要运行时才报错 语法比较随意
调用对象中不存在的方法和成员不会报错 语法不报错
2.数字加法和 数字与字符串的加法导致函数功能可能发生改变 类型不明确
3.对象索引起可以使用任意类型的值 索引会自动转化为字符串

6.强类型的优势 可靠程度高
1.错误可以更早的暴露,语法会暴露出来
2.代码更智能,编码更准确,编辑器有智能提示 成员方法有提示
3.重构更牢靠 优化代码 修改已有方法的名称不方便
4.减少不必要的类型判断 使用typeof方法对入参进行必要的判断

7.Flow 类型检查器 小工具
在代码中添加类型注解 检查代码中的类型使用异常
function sum (a: number, b: number) {
return a + b
}

8.编译移除注解
注解是编码执行的 编码过后再编译之前移除就可以了
8.1 flow官方命令 flow-remove-types
8.2 babel插件

9.开发工具插件
flow langguage

10.flow类型推断
未编码时就推断出来

11.类型注解 增加可读性
返回值的类型注解
function bar (): void {
// return undefined
}

12.原始类型 flow可用
const str :string
number 数字 或者NaN Infinity 无限大
boolean
null null本身
void undefined
symbol Symbol()

13.数组类型
const arr1:Array =[1,2,3]
arr2 :number[] =[1,2,3]
元组 固定长度
const foo:[string,number]=[‘abc’,300]

14.对象类型
obj1 :{foo:string,bar :number}={foo:‘abc’,bar:200}
?可有可无
obj2 :{foo?:string,bar :number}={foo:‘abc’,bar:200}

15.函数类型
嵌套函数的注解
function foo (callback(string,number)=>void{
callback(‘abc’),100
})

16.特殊类型
16.1字面量类型 只能为特定值
const a:‘foo’ =‘foo’
const type :‘a’|‘b’|‘c’ = ‘a’
const b :string|number =‘abc’
16.2可以将t声明为类型
const t =string|number
const f:t =‘eed’
16.3Maybe类型 ?
const a:?number = undefined

17.Mixed & Any
value1:mixed 任意类型 强类型 使用之后要明确类型
typeof() 方法判断
value2 : any 任意类型 弱类型

18.类型小结

19.运行环境API

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/688723
推荐阅读
相关标签
  

闽ICP备14008679号