logo头像

财富大家庭

辨析 Sass 中的 Map 和 List

如果你使用过 Sass 3.3 之前的版本,那么你一定对那段时光颇有感触,那时候没有现如今这么好的条件,那时候的 Map 还只能用多重列表(lists of list)来模拟。多重列表可以实现复杂数据的嵌套定义,但却不是以键值对的形式实现的,所有当我们需要获取其中特定的某一项时就会比较麻烦。Map 这种数据类型天生就是基于键值对的形式,非常便于组织数据。 自从可以使用 Map 之后,开发者们开始毫无顾忌地定义 Map 存储数据,比如断点宽度、颜色值、栅格布局等等响应式排版的细节,都被一股脑的塞进了 Map 中。 那么,有了 Map 之后,我们还有必要使用 List 吗?可能某些人会觉得为了保持向后兼容应该继续使用多重列表模拟 Map,因为可能有些开发者仍然在使用老版本的 Sass 编译器,但实际上,这是多此一举了,Sass 的版本通常由 package.json 或者其他同类型的项目配置文件所控制,往往只需一条命令(gem update sass)即可更新 Sass 的版本,因此基本上无需考虑对老版本的兼容问题。…