您可以对编程语言进行分类的方式之一是它的键入程度或弱键入。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串:
结果= 1“ 1”;
包含整数的弦本可以是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可能是从单一的真理来源产生的。
尽管术语“弱”和“强”的含义都意味着,但强大的编程语言并不一定比弱型的编程语言更好。在某些情况下,需要灵活性的不仅仅是刚性,反之亦然。与编程的许多方面一样,答案取决于多个外部上下文(即“取决于”)。
另一个有趣的一点是,没有正式的定义是什么构成强或弱打字。这意味着对被认为强烈或弱的语言的看法因人而异,并且可能会随着时间的流逝而改变。
JavaScript被认为是一种弱化的语言,这种灵活性有助于其在网络上的早期采用。但是,随着网络的成熟和工业化,JavaScript的用例变得更加复杂。
创建了诸如TypeScript之类的扩展名来帮助解决此问题。将其视为JavaScript的“插件”,它可以将强大的键入在语言上输入。这可以帮助程序员浏览复杂的设置。一个例子可能是用于电子商务的数据密集型单页应用程序。
当前,Typescript在网络开发行业中非常受欢迎,并且在首次设置内容时使用Typescript的许多新项目默认。
编译时间是将编程语言转换为机器代码的时刻。它是运行时的先驱,即计算机执行机器代码的那一刻。
与网络上的许多内容一样,编译时间有些棘手。利用TypeScript的设置将将JavaScript代码组件的组件拼凑在一起,并将它们编译为单个JavaScript文件,以供浏览器读取和运行。
组件编译的时间是将它们全部组合在一起的时间。 TypeScript是一种监督者,如果您尝试打破在组合之前为自己设置的打字惯例,将对您大喊大叫。
然后,浏览器摄入了缝合的JavaScript文件,该文件具有自己的编译时间。浏览器编译时间的变化很大,具体取决于以下方式:
浏览器并非直接使用打字稿,但感觉到它的存在。 JavaScript很脆弱。 Typescript试图防止代码编辑器上游的错误来帮助这种脆弱性。这减少了浏览器读取的JavaScript读取的机会错误 - 这会导致JavaScript停止在网站或一个人使用的Web应用程序上运行的错误。
CSS是一种声明性的,特定领域的编程语言。它也被强烈键入。在大多数情况下,CSS中的值如撰写所述。如果一个值无效,则浏览器将整个属性丢弃。
CSS中的类型清单是详尽的。他们是:
尺寸和长度似乎相似,但是尺寸可以包含百分比和长度不能。
CSS中的大部分编程是创作选择器,然后指定一套属性及其必要值。选择器的集合为内容提供了视觉形式,就像JavaScript逻辑的集合如何创建功能一样。
CSS具有功能。它可以执行计算,条件逻辑,算法表达式,状态和基于模式的行为。它还具有自定义属性,这些属性实际上是CSS变量,可以动态更新值。哎呀,您甚至可以用CSS解决FizzBuzz。
像其他编程语言一样,也有一个“元”层,对如何组织,管理和维护事物具有不同的思想和技术。
与其他编码在很大程度上存在于引擎盖下的编程语言不同,CSS具有很高的视觉效果。如果您对属性声明使用无效的值,则不会在控制台中看到警告或错误,但是您将获得不会更新预期方式的视觉效果。
原因是CSS具有弹性。当视觉效果因声明误解而没有更新时,CSS正在优先考虑,确保可以不惜一切代价显示内容,并将呈现其他所有有效的声明。这符合语言的设计原则,平台的原则以及网络使命的总体目标。
让我们演示在CSS中的强大键入在三个示例中保持护栏:一个具有直接的属性/值声明,一个具有计算的范围,一个具有重新定义自定义属性。
在此示例中,浏览器不了解横幅的边界“马铃薯”声明。请注意,即使边界风格的类型不匹配,浏览器的另一个.banner类Selector属性/价值声明也会受到浏览器的荣誉并呈现。这是CSS弹性的一个示例。
边境风格的声明期望以下文本样式类型之一:
如果我们更新边界风格以使用有效的,键入的点点,则浏览器将渲染边框!
CSS中的calc()函数使我们能够采用两个参数和一个操作员来返回计算的结果。如果其中一个参数不使用有效类型,则计算将无法使用。
在这支笔中,P Selector的字体大小属性期望具有数字维度类型(例如1.5REM)的值。但是,计算函数会为字体大小属性产生无效的类型值。这是因为Calc()函数中的第二个参数是字符串(“ 2REM”),而不是数字维度类型。
因此,段落的字体大小落回到下一个最适用的父节点 - 字体大小为1.5rem在身体元素上声明。
这有点在杂草中,但值得指出:在calc()函数中结合两个自定义属性会导致错误。虽然这两个自定义属性都可以自行有效,但Calc()将不接受虚假的缩进文本类型。想想一个场景,我们可能会尝试尝试将包含不匹配单元的自定义属性乘以 - 例如:500px和-small:1em。
像JavaScript变量一样,可以重新定义自定义属性值。这种灵活性允许易于创建深色模式颜色主题之类的东西。
在此编码器的根选择器中,我设置了一个自定义属性 - 彩色 - 彩色,值为#953fe3。然后,在.square类中,我更新了 - 彩色cyan自定义属性的价值,以成为顶级。虽然TOP是有效的,打字的值,但它不是背景色荣誉的类型。
请注意,更新的自定义属性范围为.square,并且不会影响其他用法,例如“不播放键入”一词上的右侧边框。而且,如果您从.square中删除重新定义的自定义属性,您将看到CYAN背景颜色回到中。
尽管这有点人为,但它是一个例子,说明如果您不小心,重新定义自定义属性如何摆脱您。
可以在通信较差的项目,较大的CSS代码库以及CSS预处理器用于大规模构建自定义属性的情况下找到这种现象。
凭借事后看来,我认为缺乏对CSS的控制台警告是一个缺陷,并且对该语言产生了许多负面看法。
希望开发人员会注意到,潜在的视觉变化可能太大了,并且不会满足他们在其他大多数日常工具的位置。我知道有一些计划试图解决这个问题。
首先是Stylelint,这是一种专门用于处理CSS和类似CSS的预处理语言的衬里。 Stylelint可以与代码编辑器,任务跑步者,命令行工具和GitHub操作集成,以帮助您控制CSS。这使其可以与开发人员见面。
其次是Firefox在其开发人员工具中出色的CSS检查选项套件。特别是,我想引起人们对识别未使用CSS的能力的关注。这对于识别可能与类型不匹配的选择器非常有用。
只要它一直是一种编程语言,CSS就已经强烈键入,并且作为一种编程语言,它已经存在了很长时间。最近,它也已经成长了很多。如果您尚未签入,将有一些新的,令人惊叹的功能。
随着强大的JavaScript变得越来越流行,我希望它可以帮助开发人员对CSS的公司而灵活的方法更加满意。
感谢Miriam Suzanne的反馈。
以上是CSS是一种强烈打字的语言的详细内容。更多信息请关注PHP中文网其他相关文章!