Subsets are mostly defined for security purposes; scripts written using secure language subsets can be executed safely even if its source is untrusted, for instance, an ad server. Some of these subsets will be described later.
As JavaScript continued to evolve and allowed explicit extensions, newer versions were released. Many of the features were standardized. These extensions are compatible with modern browsers such as Firefox and Chrome. However, the implementation of non-standard extensions may require an external compiler because these features are being updated in major JavaScript engines now.
As stated earlier, for execution security of untrusted code, we use subsets in JavaScript. For example, when we have a credit card checking script in which a credit card number is sent to a remote server, then for this type of information security, we use subset. By defining a subset, we check the behavior of a program that we have strictly not...