Language Guide

The JS++ language guide provides an overview of the JS++ programming language and discusses important concepts of the language.

  • Auto-boxing and Unboxing

    Auto-boxing and unboxing are the processes whereby the compiler automatically converts primitive data types to their corresponding object wrapper classes and vise versa, respectively.

  • Character Encoding

    Discusses the character encoding used by the JS++ compiler.

  • Closures

    Closures are functions that refer to free variables (variables that are used by the function locally but are defined in an enclosing function).

  • Compatibility with JavaScript

    Information on JS++ compatibility with JavaScript, including changes to JavaScript syntax and semantics.

  • Conversions Table

    The conversions table lists all conversions available for the built-in types.

  • encodeURI vs encodeURIComponent

    Describes the difference between encodeURI, encodeURIComponent, decodeURI, and decodeURIComponent.

  • Escape Sequences

    Escape sequences are used in character and string literals to represent special characters.

  • Generic Programming

    Discusses programming with generics (parametric polymorphism) in JS++.

  • Heredocs (Here Documents)

    Here documents are used for interpreting a block of text literally without the need to manually escape, concatenate, etc. This document describes how to achieve heredocs in JS++.

  • Library Instantiation Convenience

    For libraries defined as a module having a class with the same name, a convenience is provided to avoid users specifying the module and class name twice during instantiation.

  • Main File

    Unlike other object-oriented programming languages, JS++ does not have a "main method" per se. This article discusses how the JS++ compiler infers the main file, the application entry point.

  • Module Resolution

    Describes how the JS++ compiler finds and locates modules.

  • Naming Conventions

    Naming conventions define best practices for naming variables, functions, classes, modules, and so forth.

  • Operator Precedence

    The operator precedence defines the order of operations in which expressions are evaluated.

  • Overloading

    Function/method overloading involves declaring multiple functions or methods with the same name but having different implementations.

  • Scoping

    Discusses the scoping rules for the JS++ programming language.

  • Using JSONP in JS++

    How to use JSONP (JSON with padding) within JS++ to request data from a different domain or subdomain.


HTML | BBCode | Direct Link