Что такое типобезопасный?
Типобезопасность не следует language-agnostic путать со статической / динамической wording типизацией или строгой / слабой nomenclature типизацией.
Типобезопасный programming-terms язык - это язык, в котором terminology единственные операции, которые language-agnostic можно выполнять с данными, - это computer-science те, которые допускаются типом programming-languages данных. То есть, если ваши language-independent данные относятся к типу X
, а cs X
не поддерживает операцию programming-terms y
, то язык не позволит вам nomenclature выполнить y(X)
.
Это определение computer-science не устанавливает правил для wording , когда установлен этот флажок. Это cs может быть во время компиляции programming-terms (статическая типизация) или type-safety во время выполнения (динамическая programming-languages типизация), обычно через wording исключения. Это может быть programming-languages и то, и другое: некоторые cs языки со статической типизацией computer-science позволяют преобразовывать type-safety данные из одного типа в другой, и programming-terms достоверность приведений programming-terms должна проверяться во время programming-languages выполнения (представьте, что nomenclature вы пытаетесь преобразовать computer-science Object
в Consumer
- компилятор не знает, приемлемо language-independent это или нет).
Типовая безопасность wording не обязательно означает строго language-independent типизированный - некоторые terminology языки, как известно, слабо cs типизированы, но все же, возможно, типобезопасны. Возьмем, к programming-languages примеру, Javascript: его terminology система типов настолько слабая, насколько programming-terms это возможно, но все же строго language-independent определена. Он позволяет programming-terms автоматически преобразовывать nomenclature данные (например, строки language-independent в целые числа), но в рамках terminology четко определенных правил. Насколько cs мне известно, нет случая, когда language-independent программа Javascript будет nomenclature вести себя неопределенным type-safety образом, и если вы достаточно language-independent умны (а я нет), вы сможете programming-terms предсказать, что произойдет, при terminology чтении кода Javascript.
Примером computer-science языка программирования с nomenclature небезопасным типом является programming-languages C: чтение / запись значения terminology массива за пределами массива nomenclature имеет неопределенное поведение wording по спецификации. Что произойдет, предсказать terminology невозможно. C - это язык, который computer-science имеет систему типов, но не programming-languages является типобезопасным.
language-agnostic
programming-languages
computer-science
terminology
type-safety
Что такое типобезопасный?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.