JavaScript for BASIC Programmers

AppStudio's BASIC is modelled on Microsoft's Visual BASIC. It runs on other operating system by translating the BASIC to JavaScript, a language which is supported on all platforms.

JavaScript is a powerful and flexible programming language. It's the standard programming language of the web. It's also the subject of Atwood's Law: "Any application that can be written in JavaScript, will eventually be written in JavaScript."

When we designed our Translator, we were pleased to discover that almost everything in BASIC had a direct equivalent in JavaScript. Each BASIC statement could be turned into a JavaScript statement which did the same thing. (The reverse is not true: there are many features in JavaScript which do not have an equivalent in BASIC.)

This document isn't intended to teach you everything about JavaScript. It should give you enough of an introduction to get started and learn the basic forms of JavaScript.

Contents

Variable Types

JavaScript variables are not explicitly typed: they get their types from whatever is assigned to them. It's very similar to BASIC's Variant type. Variable names are case sensitive: myVar is not the same as myvar.

Variables are declared with the VAR statement:

BASIC

JavaScript

Dima

vara;varb,c;vard=100;

In JavaScript, you can declare multiple variables in one statement. You can also assign an initial value.

Arrays

BASIC

JavaScript

Dima(100)

vara=[];

a(1)=1

a[1]=1;

Arrays use square brackets, not round. No limit is declared on the size of the array. You can create an array simply by assigning an empty array to a variable.

Assignment

BASIC

JavaScript

a=100;

a=100;

s="Zaphod"

s="Zaphod";s='Zaphod';

There is no real difference between the languages. Note that JavaScript statements end with a semicolon (";"), rather than the end of the line. You are therefore allowed to break up statements into multiple lines.

Strings can be surrounded by matched single or double quotes. This make is much easier to have embedded quotes in strings.

IF statements

BASIC

JavaScript

Ifa=1Thenb=2

if(a==1)b=2;

Ifa=1Thenb=2EndIf

if(a==1){b=2;}

Ifa=1Thenb=2Elsec=3EndIf

if(a==1){b=2;}else{c=3;}

JavaScript uses curly braces to group the statements in the THEN and ELSE code. We'll see those curly braces used to group code in other places.

JavaScript uses different operators for assignment and to test equality. Assignment is a single =, while testing equality is ==.

Operators

Here is a list of BASIC operators and their JavaScript equivalents:

BASIC

JavaScript

Notes

=

=

Assignment

=

==

Are the two args equal?

<>

!=

Are the two args unequal?

<, >, <=, >=

<, >, <=, >=

No difference

&

+

Concatenate two strings

Or

||

Logical Or

And

&&

Logical Or

Not

!

Logical not

For loops

BASIC

JavaScript

Fori=1to10a(i)=iNext

for(i=1;i<=10;i++){a[i]=i;}

JavaScript has 3 parts to its for statement, separated by semicolons. The first is the start value, the second is the end value and the third is the increment. i++ increments by 1.