跳到正文

数据类型

Data Type

中级通用

数据类型(Data Type)说明一个值按什么形式存放,以及程序能怎样处理它。它帮你区分看起来相似、用途却不同的数据:商品价格要参与计算,通常用数值;订单编号即使全是数字,也更适合作为文本处理。

你可能会说:「帮我分清后台这些字段哪些能计算、哪些只是看起来像数字,别让保存和展示出错。」

读之前建议先了解

动手看看

订单导入 · 字段预览用 JavaScript 演示:先转换类型,再处理这个值。
原始输入0012
数值:12Number("0012")
文本:"0012"String("0012")
处理结果 · 执行 + 3
12 + 3 → 15两个数值相加,结果仍是数值。
"0012" + 3 → "00123"左侧是文本,3 被转为文本后拼接在末尾。
处理结果 · 订单编号
订单编号:12数值不记录前导零,已无法知道原来有几个零。
订单编号:0012按文本保存,四个字符原样保留;引号不属于编号。
字段数据类型
处理方式

切换字段类型,再切换处理方式。输入始终是 0012,但保存下来的值和处理结果会变:看起来都是数字,不代表用途相同。

数值保存的是数量,不是写法。0012 转成数值就是 12,适合参与计算,却不会记住前面的两个零。

这里采用 JavaScript 的 + 规则:数值加数值做加法;遇到文本则拼接。其他语言可能要求显式转换,甚至直接报错。

要点

  1. 1

    类型决定能做哪些操作

    你给购物车算总价时,单价和数量得能参与数值运算;商品编号即使写成一串数字,也不是拿来相加的。先看数据的用途,再决定把它当数值、文本还是别的类型。

  2. 2

    同样的内容可能有不同类型

    用户在输入框里键入 25,程序最初收到的可能是文本“25”。如果你要用它计算年龄差,就得先转换成数值;如果它是房间号,保留为文本反而更合适。

  3. 3

    空值和日期也值得说清楚

    做预约功能时,预约时间不能只当一段随意填写的文字,否则排序和比较会麻烦。你还得和 AI 讲清楚“未填写”怎么表示,因为空值与数字 0、空文本不是一回事。

容易混淆的地方

数据类型回答的是“这个值按什么形式处理”,字段回答的是“这份数据里记录了哪一项”,例如“手机号”是字段,文本是它可采用的数据类型。数据校验则进一步判断值是否合规:即使手机号存成文本,也还要检查它是否符合产品接受的填写规则。

什么时候用

适合用

  • 让 AI 设计注册表单和数据库时,说明生日、手机号、是否订阅通知分别是什么类型,方便后续存储和处理。
  • 接入支付或报表接口时,核对金额、数量和订单编号的类型,避免把标识符拿去计算,或把金额按文本拼接。
  • 让 AI 输出供程序读取的 JSON 时,约定列表、布尔值和可为空的字段,减少前后端对数据含义的误解。

不适合用

  • 只是想调整页面文字大小和颜色时,不用讨论数据类型;把需求交给 CSS 或设计令牌更直接。
  • 想保证优惠券只在有效期内使用时,光选日期类型解决不了业务规则;需要补充数据校验和使用条件。
  • 想让每条订单都有不重复的标识时,选文本或数值类型还不够;重点是主键或唯一性约束。

练一练

你让 AI 做会员后台:手机号可能以 0 开头,积分要参与加减计算。哪种字段设计更符合用途?

让 AI 帮你做

请检查会员后台的数据类型:手机号作为文本保存,积分作为数值参与加减,是否订阅通知用布尔值表示。列出前端输入、接口传输和数据库存储时的类型,以及需要单独做的数据校验;遇到不确定的业务规则先问我。

接下来学什么