IT SOLUTIONS
 To/From Code
 Languages
 Categories
 Cross Ref Guide
 ► KB ► To/From Guides ► Corel Paradox ► Operators

# Cross Ref > Operators

By Mike Prestwood

Corel Paradox versus JavaScript: A side by side comparison between Corel Paradox and JavaScript.

 Operators

A language symbol used for assignment, comparison, computational, or as a logical.

## Assignment

[Other Languages]

#### Languages Focus

Common assignment operators for languages include =, ==, and :=. An assignment operator allows you to assign a value to a variable. The value can be a literal value like "Mike" or 42 or the value stored in another variable or returned by a function.

ObjectPAL uses = for it's assignment operator.

 Syntax Example:   `var FullName String   Age SmallIntendVar`` ``FullName = "Randy Spitz"Age = 42`
JavaScript:   =

JavaScript uses = for it's assignment operator.

 Syntax Example: `//Regular assignment.``LastName = 'Spitz';`` ``//Variable declaration with assignment.``var FullName = 'Randy Spitz';``var Age = 38;`

## Comparison Operators

[Other Languages]

#### General Info: Round Floating Point Numbers

When comparing floating point numbers, make sure you round to an acceptable level of rounding for the type of application you are using.

#### Languages Focus

A comparison operator compares two values either literals as in "Hello" and 3 or variables as in X and Counter. Most languages use the same operators for comparing both numbers and strings. Perl, for example, uses separate sets of comparison operators for numbers and strings.

Common comparison operators:

 = equal <> not equal < less than > greater than <= less than or equal >= greater than or equal

 Syntax Example:`'Does ObjectPAL evaluate the math correctly? No!``If .1 + .1 + .1 = .3 Then msgInfo("", "correct")Else msgInfo("", "not correct")endIf`
JavaScript:   ==, !=

Common comparison operators:

 == equal != not equal < less than > greater than <= less than or equal >= greater than or equal

 Syntax Example: `//Does JavaScript evaluate the math correctly? No!``if (.1 + .1 + .1 == .3) { document.write("correct");}else { document.write("not correct");}`

## Empty String Check

[Other Languages]

#### Languages Focus

An empty string is a zero length string, a string that is equal to null (""), or not assigned. In some languages, you can check if a string is empty by comparing it to an empty string (""). Some languages distinguish between nil and null ("") so checking if the length is 0 is easier.

Corel Paradox:   isBlank() or not isAssigned()

In ObjectPAL, an empty variable can be unassigned (essentially null) or blank (equivalent to ""). You have to use both isBlank and isAssigned to check for an empty string.

 Syntax Example:`var s StringendVar`` ``;s = ""  ;Uncomment to test 2nd case.`` ``if isBlank(s) or not isAssigned(s) Then msgInfo("", "empty string")endIf`
[Not specified yet. Coming...]

## Logical Operators

[Other Languages]

#### Languages Focus

Logical operators perform conditional and, or, and not operations. Some languages support both binary logical operators that link two and unary logical operators negate (make opposite) the truth value of its argument. Finally, some languages short circuit logic. For example, with this or that, if this is an expression returning true, then that is never executed.

ObjectPAL logical operators:

 and and, as in this and that or or, as in this or that Not Not, as in Not This

Like VBA, ObjectPAL never short circuits. Given the expression this or that as well as this and that, if this evaluates to false, then that is still executed.

 Syntax Example:`;Given expressions a, b, c, and d:``if Not (a and b) and (c or d) then``  ;Do something.``endIf`
JavaScript:

JavaScript logical operators:

 && and, as in this and that || or, as in this or that ! Not, as in Not This

JavaScript always short circuits. Given the expression this || that, if this evaluates to true, then that is never executed.

 Syntax Example: `//Given expressions a, b, c, and d:``if !((a && b) && (c || d)) {``  //Do something.``}`

## String Concatenation

[Other Languages]

String literals s are limited to 255 characters but you can simply add two strings together as in:

`s = "A long string." + "Another long string."`
 Syntax Example: `var FirstName  String  LastName  StringendVar`` ``FirstName  = "Mike"LastName  = "Prestwood"``msgInfo("", "Full name: " + FirstName + " " + LastName)`
JavaScript:  "String Concatenation" +

To concatenate two strings, a string to an integer, or a string to a floating point number, use the + operator. JavaScript performs implicit casting when concatenating a string and a number. For example, to convert a floating point number to a string just concatenate an empty string to the number as in "" + 3.2.

 Syntax Example: ``` // -->```

## Unary Operators

[Other Languages]

#### General Info: Unary Operator

An operation with only one operand (a single input). Common unary operators include + plus, - minus, and bitwise not. Some operators can function as both unary and binary operators. For example, + and - operators can serve as either.

#### Languages Focus

What unary operators are supported in additoin to the standard plus, minus, and bitwise not.

The ObjectPAL unary operators are:

 + - Not

JavaScript:

An operation with only one operand (a single input). JavaScript unary operators include ++ and --. They can be used either before or after a variable as in: a++, b--, and ++a, and --b.

Examples:

`iCounter++;`
`iCounter--;`
` `
`++iCounter;`
`--iCounter;`
 Syntax Example:`var iCounter=0;`` ``for (iCounter=0;iCounter<=5;iCounter++){ document.write("Count is " + iCounter + "
");}`