JavaScript for ABAP Programmers
Data Types
Chris Whealy / The RIG
ABAP
Strongly typed
Syntax similar to COBOL
Block Scope
No equivalent concept
OO using class based inheritance
Imperative programming

JavaScript
Weakly typed
Syntax derived from Java
Lexical Scope
Functions are 1st class citizens
OO using referential inheritance
Imperative or Functional programming
Strongly Typed vs. Weakly Typed Languages
There are two schools of thought for determining how data should be stored in variables:
• ABAP uses Strong (or Static) Typing
Apart from field symbols, all ABAP variables
must have their data type defined at declaration
time

Š 2013 SAP AG. All rights reserved.

3
Strongly Typed vs. Weakly Typed Languages
There are two schools of thought for determining how data should be stored in variables:
• ABAP uses Strong (or Static) Typing
• JavaScript uses Weak (or Dynamic) Typing
Apart from field symbols, all ABAP variables
A variable takes on the data type of whatever
must have their data type defined at declaration
value it currently holds
time

Š 2013 SAP AG. All rights reserved.

4
Strongly Typed vs. Weakly Typed Languages
There are two schools of thought for determining how data should be stored in variables:
• ABAP uses Strong (or Static) Typing
• JavaScript uses Weak (or Dynamic) Typing
Apart from field symbols, all ABAP variables
A variable takes on the data type of whatever
must have their data type defined at declaration
value it currently holds
time
• Pros and Cons of Strong Typing

+ Data type errors can be trapped at compile time
- Rigid type systems reduce language flexibility

Š 2013 SAP AG. All rights reserved.

5
Strongly Typed vs. Weakly Typed Languages
There are two schools of thought for determining how data should be stored in variables:
• ABAP uses Strong (or Static) Typing
• JavaScript uses Weak (or Dynamic) Typing
Apart from field symbols, all ABAP variables
A variable takes on the data type of whatever
must have their data type defined at declaration
value it currently holds
time
• Pros and Cons of Strong Typing
• Pros and Cons of Weak Typing

+ Data type errors can be trapped at compile time
- Rigid type systems reduce language flexibility

- Data type errors can only be trapped at runtime
+ Highly flexible type system allows for a dynamic
style of coding

Š 2013 SAP AG. All rights reserved.

6
Strongly Typed vs. Weakly Typed Languages
There are two schools of thought for determining how data should be stored in variables:
• ABAP uses Strong (or Static) Typing
• JavaScript uses Weak (or Dynamic) Typing
Apart from field symbols, all ABAP variables
A variable takes on the data type of whatever
must have their data type defined at declaration
value it currently holds
time
• Pros and Cons of Strong Typing
• Pros and Cons of Weak Typing

+ Data type errors can be trapped at compile time
- Rigid type systems reduce language flexibility

- Data type errors can only be trapped at runtime
+ Highly flexible type system allows for a dynamic
style of coding

Compiled languages (E.G. ABAP, Java, C) tend to use strong typing, whereas interpreted scripting
languages (E.G. JavaScript, Ruby, Python) tend to use weak typing.

Š 2013 SAP AG. All rights reserved.

7
JavaScript Data Types: Overview
In JavaScript, there are only 6 data types.
At any one time the value of a variable belongs to one and only one of the following data types.

Data Type

This value of this variable…

Null

Is explicitly defined as having no value

Undefined

Is indeterminate

Boolean

Is either true or false

String

Is an immutable collection of zero or more Unicode characters

Number

Can be used in mathematical operations

Object

Is an unordered collection of name/value pairs

Š 2013 SAP AG. All rights reserved.

8
JavaScript Data Types 1/3
In the coding, the data types are specified as follows:
// -----------------------------------------------------------------------------------------------// Special
null;
// Indicates an explicit non-value
undefined;
// Indicates an indeterminate value (E.G. a variable is declared but not initialised)

Š 2013 SAP AG. All rights reserved.

9
JavaScript Data Types 1/3
In the coding, the data types are specified as follows:
// -----------------------------------------------------------------------------------------------// Special
null;
// Indicates an explicit non-value
undefined;
// Indicates an indeterminate value (E.G. a variable is declared but not initialised)
// -----------------------------------------------------------------------------------------------// Boolean
true;
false;

Š 2013 SAP AG. All rights reserved.

10
JavaScript Data Types 1/3
In the coding, the data types are specified as follows:
// -----------------------------------------------------------------------------------------------// Special
null;
// Indicates an explicit non-value
undefined;
// Indicates an indeterminate value (E.G. a variable is declared but not initialised)
// -----------------------------------------------------------------------------------------------// Boolean
true;
false;
// -----------------------------------------------------------------------------------------------// String – contains zero or more Unicode characters
'Bazinga!';
// Can be delimited by either single quotes
"";
// Or double quotes

Š 2013 SAP AG. All rights reserved.

11
JavaScript Data Types 2/3
In the coding, the data types are specified as follows:
// -----------------------------------------------------------------------------------------------// Number
3.1415926;
// Stored as 64-bit floating point number
1;
// Be careful, this is stored as floating point value, not an integer!

Š 2013 SAP AG. All rights reserved.

12
JavaScript Data Types 2/3
In the coding, the data types are specified as follows:
// -----------------------------------------------------------------------------------------------// Number
3.1415926;
// Stored as 64-bit floating point number
1;
// Be careful, this is stored as floating point value, not an integer!
// Warning! All the usual problems associated with trying to represent decimal values in binary
// floating point format still apply in JavaScript!
var result = 0.1 + 0.2;
result;
//  0.30000000000000004, not 0.3 (Decimal 0.1 has no exact binary equivalent)

Š 2013 SAP AG. All rights reserved.

13
JavaScript Data Types 2/3
In the coding, the data types are specified as follows:
// -----------------------------------------------------------------------------------------------// Number
3.1415926;
// Stored as 64-bit floating point number
1;
// Be careful, this is stored as floating point value, not an integer!
// Warning! All the usual problems associated with trying to represent decimal values in binary
// floating point format still apply in JavaScript!
var result = 0.1 + 0.2;
result;
//  0.30000000000000004, not 0.3 (Decimal 0.1 has no exact binary equivalent)
// Special numerical values that could be returned in the event of illegal mathematical operations
// (These values are actually stored as properties of the Global Object)
NaN;
// 'Not a Number' E.G. 1/'cat'  NaN
Infinity;
// The result of division by zero

Š 2013 SAP AG. All rights reserved.

14
JavaScript Data Types 3/3
In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as
if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc.
// -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces
{ pet1: 'cat',
pet2: 'dog' };

Š 2013 SAP AG. All rights reserved.

15
JavaScript Data Types 3/3
In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as
if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc.
// -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces
{ pet1: 'cat',
pet2: 'dog' };
// Array object. Zero or more values of any data type accessed by a numerical, 0 based index
[1,2,3,4,5];

Š 2013 SAP AG. All rights reserved.

16
JavaScript Data Types 3/3
In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as
if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc.
// -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces
{ pet1: 'cat',
pet2: 'dog' };
// Array object. Zero or more values of any data type accessed by a numerical, 0 based index
[1,2,3,4,5];
// Function object. A special object that has both properties and executable content
function() { /* statements */ }

Š 2013 SAP AG. All rights reserved.

17
JavaScript Data Types 3/3
In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as
if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc.
// -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces
{ pet1: 'cat',
pet2: 'dog' };
// Array object. Zero or more values of any data type accessed by a numerical, 0 based index
[1,2,3,4,5];
// Function object. A special object that has both properties and executable content
function() { /* statements */ }
// Math object. Contains many useful mathematical functions and constants
Math.PI; //  3.141592653589793

Š 2013 SAP AG. All rights reserved.

18
JavaScript Data Types 3/3
In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as
if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc.
// -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces
{ pet1: 'cat',
pet2: 'dog' };
// Array object. Zero or more values of any data type accessed by a numerical, 0 based index
[1,2,3,4,5];
// Function object. A special object that has both properties and executable content
function() { /* statements */ }
// Math object. Contains many useful mathematical functions and constants
Math.PI; //  3.141592653589793
// Regular Expression Object. A tool for specifying and extracting patterns of text within a string
/^(?:([A-Za-z]+):)?(/{0,3})([0-9.-A-Za-z]+)(?::(d+))?(?:/([^?#]*))?(?:?([^#]*))?(?:#(.*))?$/;

Š 2013 SAP AG. All rights reserved.

19
JavaScript Data Types 3/3
In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as
if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc.
// -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces
{ pet1: 'cat',
pet2: 'dog' };
// Array object. Zero or more values of any data type accessed by a numerical, 0 based index
[1,2,3,4,5];
// Function object. A special object that has both properties and executable content
function() { /* statements */ }
// Math object. Contains many useful mathematical functions and constants
Math.PI; //  3.141592653589793
// Regular Expression Object. A tool for specifying and extracting patterns of text within a string
// Regular expressions are sometimes confused with Egyptian hieroglyphics... :-)

Š 2013 SAP AG. All rights reserved.

20
Variables and Data Types
In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of
a particular type. The data type of a variable is determined simply by the value it currently holds.
// A weakly typed language means that data types are determined
// dynamically at runtime, not statically at design time
var whoAmI = 'Hello world';

Š 2013 SAP AG. All rights reserved.

// Variable 'whoAmI' is both declared & assigned a string value

21
Variables and Data Types
In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of
a particular type. The data type of a variable is determined simply by the value it currently holds.
// A weakly typed language means that data types are determined
// dynamically at runtime, not statically at design time
var whoAmI = 'Hello world';

// Variable 'whoAmI' is both declared & assigned a string value

whoAmI = 1.61792;
whoAmI = [1,2,3,4,5];

// Now it's a number
// Now it's an array

Š 2013 SAP AG. All rights reserved.

22
Variables and Data Types
In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of
a particular type. The data type of a variable is determined simply by the value it currently holds.
// A weakly typed language means that data types are determined
// dynamically at runtime, not statically at design time
var whoAmI = 'Hello world';

// Variable 'whoAmI' is both declared & assigned a string value

whoAmI = 1.61792;
whoAmI = [1,2,3,4,5];

// Now it's a number
// Now it's an array

whoAmI = true;

// Now it's a Boolean

Š 2013 SAP AG. All rights reserved.

23
Variables and Data Types
In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of
a particular type. The data type of a variable is determined simply by the value it currently holds.
// A weakly typed language means that data types are determined
// dynamically at runtime, not statically at design time
var whoAmI = 'Hello world';

// Variable 'whoAmI' is both declared & assigned a string value

whoAmI = 1.61792;
whoAmI = [1,2,3,4,5];

// Now it's a number
// Now it's an array

whoAmI = true;

// Now it's a Boolean

whoAmI = {
// Now it's an object
someProperty: 'Hello world'
}

Š 2013 SAP AG. All rights reserved.

24
Variables and Data Types
In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of
a particular type. The data type of a variable is determined simply by the value it currently holds.
// A weakly typed language means that data types are determined
// dynamically at runtime, not statically at design time
var whoAmI = 'Hello world';

// Variable 'whoAmI' is both declared & assigned a string value

whoAmI = 1.61792;
whoAmI = [1,2,3,4,5];

// Now it's a number
// Now it's an array

whoAmI = true;

// Now it's a Boolean

whoAmI = {
// Now it's an object
someProperty: 'Hello world'
}
whoAmI = function() { };

Š 2013 SAP AG. All rights reserved.

// Now it's a...you get the idea

25

More Related Content

PDF
JavaScript for ABAP Programmers - 3/7 Syntax
PDF
JavaScript for ABAP Programmers - 4/7 Scope
PDF
JavaScript for ABAP Programmers - 7/7 Functional Programming
PDF
JavaScript for ABAP Programmers - 6/7 Inheritance
PPTX
Java and OWL
ODP
Concurrent Programming in Java
PPTX
Type Systems
PPTX
Getting started with typescript
JavaScript for ABAP Programmers - 3/7 Syntax
JavaScript for ABAP Programmers - 4/7 Scope
JavaScript for ABAP Programmers - 7/7 Functional Programming
JavaScript for ABAP Programmers - 6/7 Inheritance
Java and OWL
Concurrent Programming in Java
Type Systems
Getting started with typescript

What's hot (8)

PPTX
Java nio ( new io )
PPT
PPT
Java Programming for Designers
DOC
07 Advanced RTF Template Techniques.doc
PPTX
Factory Design Pattern
PPT
Spring AOP
PPT
Introduction to Design Patterns and Singleton
PPTX
Object-Oriented concepts.pptx
Java nio ( new io )
Java Programming for Designers
07 Advanced RTF Template Techniques.doc
Factory Design Pattern
Spring AOP
Introduction to Design Patterns and Singleton
Object-Oriented concepts.pptx
Ad

Similar to JavaScript for ABAP Programmers - 2/7 Data Types (20)

PPTX
WT Unit-3 PPT.pptx
PPTX
javascript
PPT
JavaScript Data Types
PDF
Java script summary
PPT
data-types-operators-datatypes-operators.ppt
KEY
JavaScript: Values, Types and Variables
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
PPTX
Javascript analysis
PPT
02. Data Type and Variables
PPTX
Java script session 3
PPT
An introduction to javascript
PDF
JavaScript Programming
PDF
Introduction to JavaScript for APEX Developers - Module 1: JavaScript Basics
PPT
chap04.ppt
PDF
Module 1: JavaScript Basics
PPT
Ajax and JavaScript Bootcamp
PPTX
copa-ii.pptx
PPTX
Java script
PPTX
Javascript
ODP
Datatype in JavaScript
WT Unit-3 PPT.pptx
javascript
JavaScript Data Types
Java script summary
data-types-operators-datatypes-operators.ppt
JavaScript: Values, Types and Variables
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
Javascript analysis
02. Data Type and Variables
Java script session 3
An introduction to javascript
JavaScript Programming
Introduction to JavaScript for APEX Developers - Module 1: JavaScript Basics
chap04.ppt
Module 1: JavaScript Basics
Ajax and JavaScript Bootcamp
copa-ii.pptx
Java script
Javascript
Datatype in JavaScript
Ad

Recently uploaded (20)

PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPT
Geologic Time for studying geology for geologist
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Five Habits of High-Impact Board Members
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
CloudStack 4.21: First Look Webinar slides
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
Getting started with AI Agents and Multi-Agent Systems
UiPath Agentic Automation session 1: RPA to Agents
OpenACC and Open Hackathons Monthly Highlights July 2025
Flame analysis and combustion estimation using large language and vision assi...
Microsoft Excel 365/2024 Beginner's training
Comparative analysis of machine learning models for fake news detection in so...
Geologic Time for studying geology for geologist
Zenith AI: Advanced Artificial Intelligence
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Custom Battery Pack Design Considerations for Performance and Safety
Taming the Chaos: How to Turn Unstructured Data into Decisions
A review of recent deep learning applications in wood surface defect identifi...
Five Habits of High-Impact Board Members
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
CloudStack 4.21: First Look Webinar slides
A proposed approach for plagiarism detection in Myanmar Unicode text
Credit Without Borders: AI and Financial Inclusion in Bangladesh
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Enhancing plagiarism detection using data pre-processing and machine learning...
Getting started with AI Agents and Multi-Agent Systems

JavaScript for ABAP Programmers - 2/7 Data Types

  • 1. JavaScript for ABAP Programmers Data Types Chris Whealy / The RIG
  • 2. ABAP Strongly typed Syntax similar to COBOL Block Scope No equivalent concept OO using class based inheritance Imperative programming JavaScript Weakly typed Syntax derived from Java Lexical Scope Functions are 1st class citizens OO using referential inheritance Imperative or Functional programming
  • 3. Strongly Typed vs. Weakly Typed Languages There are two schools of thought for determining how data should be stored in variables: • ABAP uses Strong (or Static) Typing Apart from field symbols, all ABAP variables must have their data type defined at declaration time Š 2013 SAP AG. All rights reserved. 3
  • 4. Strongly Typed vs. Weakly Typed Languages There are two schools of thought for determining how data should be stored in variables: • ABAP uses Strong (or Static) Typing • JavaScript uses Weak (or Dynamic) Typing Apart from field symbols, all ABAP variables A variable takes on the data type of whatever must have their data type defined at declaration value it currently holds time Š 2013 SAP AG. All rights reserved. 4
  • 5. Strongly Typed vs. Weakly Typed Languages There are two schools of thought for determining how data should be stored in variables: • ABAP uses Strong (or Static) Typing • JavaScript uses Weak (or Dynamic) Typing Apart from field symbols, all ABAP variables A variable takes on the data type of whatever must have their data type defined at declaration value it currently holds time • Pros and Cons of Strong Typing + Data type errors can be trapped at compile time - Rigid type systems reduce language flexibility Š 2013 SAP AG. All rights reserved. 5
  • 6. Strongly Typed vs. Weakly Typed Languages There are two schools of thought for determining how data should be stored in variables: • ABAP uses Strong (or Static) Typing • JavaScript uses Weak (or Dynamic) Typing Apart from field symbols, all ABAP variables A variable takes on the data type of whatever must have their data type defined at declaration value it currently holds time • Pros and Cons of Strong Typing • Pros and Cons of Weak Typing + Data type errors can be trapped at compile time - Rigid type systems reduce language flexibility - Data type errors can only be trapped at runtime + Highly flexible type system allows for a dynamic style of coding Š 2013 SAP AG. All rights reserved. 6
  • 7. Strongly Typed vs. Weakly Typed Languages There are two schools of thought for determining how data should be stored in variables: • ABAP uses Strong (or Static) Typing • JavaScript uses Weak (or Dynamic) Typing Apart from field symbols, all ABAP variables A variable takes on the data type of whatever must have their data type defined at declaration value it currently holds time • Pros and Cons of Strong Typing • Pros and Cons of Weak Typing + Data type errors can be trapped at compile time - Rigid type systems reduce language flexibility - Data type errors can only be trapped at runtime + Highly flexible type system allows for a dynamic style of coding Compiled languages (E.G. ABAP, Java, C) tend to use strong typing, whereas interpreted scripting languages (E.G. JavaScript, Ruby, Python) tend to use weak typing. Š 2013 SAP AG. All rights reserved. 7
  • 8. JavaScript Data Types: Overview In JavaScript, there are only 6 data types. At any one time the value of a variable belongs to one and only one of the following data types. Data Type This value of this variable… Null Is explicitly defined as having no value Undefined Is indeterminate Boolean Is either true or false String Is an immutable collection of zero or more Unicode characters Number Can be used in mathematical operations Object Is an unordered collection of name/value pairs Š 2013 SAP AG. All rights reserved. 8
  • 9. JavaScript Data Types 1/3 In the coding, the data types are specified as follows: // -----------------------------------------------------------------------------------------------// Special null; // Indicates an explicit non-value undefined; // Indicates an indeterminate value (E.G. a variable is declared but not initialised) Š 2013 SAP AG. All rights reserved. 9
  • 10. JavaScript Data Types 1/3 In the coding, the data types are specified as follows: // -----------------------------------------------------------------------------------------------// Special null; // Indicates an explicit non-value undefined; // Indicates an indeterminate value (E.G. a variable is declared but not initialised) // -----------------------------------------------------------------------------------------------// Boolean true; false; Š 2013 SAP AG. All rights reserved. 10
  • 11. JavaScript Data Types 1/3 In the coding, the data types are specified as follows: // -----------------------------------------------------------------------------------------------// Special null; // Indicates an explicit non-value undefined; // Indicates an indeterminate value (E.G. a variable is declared but not initialised) // -----------------------------------------------------------------------------------------------// Boolean true; false; // -----------------------------------------------------------------------------------------------// String – contains zero or more Unicode characters 'Bazinga!'; // Can be delimited by either single quotes ""; // Or double quotes Š 2013 SAP AG. All rights reserved. 11
  • 12. JavaScript Data Types 2/3 In the coding, the data types are specified as follows: // -----------------------------------------------------------------------------------------------// Number 3.1415926; // Stored as 64-bit floating point number 1; // Be careful, this is stored as floating point value, not an integer! Š 2013 SAP AG. All rights reserved. 12
  • 13. JavaScript Data Types 2/3 In the coding, the data types are specified as follows: // -----------------------------------------------------------------------------------------------// Number 3.1415926; // Stored as 64-bit floating point number 1; // Be careful, this is stored as floating point value, not an integer! // Warning! All the usual problems associated with trying to represent decimal values in binary // floating point format still apply in JavaScript! var result = 0.1 + 0.2; result; //  0.30000000000000004, not 0.3 (Decimal 0.1 has no exact binary equivalent) Š 2013 SAP AG. All rights reserved. 13
  • 14. JavaScript Data Types 2/3 In the coding, the data types are specified as follows: // -----------------------------------------------------------------------------------------------// Number 3.1415926; // Stored as 64-bit floating point number 1; // Be careful, this is stored as floating point value, not an integer! // Warning! All the usual problems associated with trying to represent decimal values in binary // floating point format still apply in JavaScript! var result = 0.1 + 0.2; result; //  0.30000000000000004, not 0.3 (Decimal 0.1 has no exact binary equivalent) // Special numerical values that could be returned in the event of illegal mathematical operations // (These values are actually stored as properties of the Global Object) NaN; // 'Not a Number' E.G. 1/'cat'  NaN Infinity; // The result of division by zero Š 2013 SAP AG. All rights reserved. 14
  • 15. JavaScript Data Types 3/3 In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc. // -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces { pet1: 'cat', pet2: 'dog' }; Š 2013 SAP AG. All rights reserved. 15
  • 16. JavaScript Data Types 3/3 In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc. // -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces { pet1: 'cat', pet2: 'dog' }; // Array object. Zero or more values of any data type accessed by a numerical, 0 based index [1,2,3,4,5]; Š 2013 SAP AG. All rights reserved. 16
  • 17. JavaScript Data Types 3/3 In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc. // -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces { pet1: 'cat', pet2: 'dog' }; // Array object. Zero or more values of any data type accessed by a numerical, 0 based index [1,2,3,4,5]; // Function object. A special object that has both properties and executable content function() { /* statements */ } Š 2013 SAP AG. All rights reserved. 17
  • 18. JavaScript Data Types 3/3 In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc. // -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces { pet1: 'cat', pet2: 'dog' }; // Array object. Zero or more values of any data type accessed by a numerical, 0 based index [1,2,3,4,5]; // Function object. A special object that has both properties and executable content function() { /* statements */ } // Math object. Contains many useful mathematical functions and constants Math.PI; //  3.141592653589793 Š 2013 SAP AG. All rights reserved. 18
  • 19. JavaScript Data Types 3/3 In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc. // -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces { pet1: 'cat', pet2: 'dog' }; // Array object. Zero or more values of any data type accessed by a numerical, 0 based index [1,2,3,4,5]; // Function object. A special object that has both properties and executable content function() { /* statements */ } // Math object. Contains many useful mathematical functions and constants Math.PI; //  3.141592653589793 // Regular Expression Object. A tool for specifying and extracting patterns of text within a string /^(?:([A-Za-z]+):)?(/{0,3})([0-9.-A-Za-z]+)(?::(d+))?(?:/([^?#]*))?(?:?([^#]*))?(?:#(.*))?$/; Š 2013 SAP AG. All rights reserved. 19
  • 20. JavaScript Data Types 3/3 In addition to the basic data type of Object, JavaScript provides several built-in objects that behave as if they were composite data types. E.G. Array, Date, Function, Math and RegEx etc. // -----------------------------------------------------------------------------------------------// Object. Zero or more unordered name:value pairs of any data type delimited by curly braces { pet1: 'cat', pet2: 'dog' }; // Array object. Zero or more values of any data type accessed by a numerical, 0 based index [1,2,3,4,5]; // Function object. A special object that has both properties and executable content function() { /* statements */ } // Math object. Contains many useful mathematical functions and constants Math.PI; //  3.141592653589793 // Regular Expression Object. A tool for specifying and extracting patterns of text within a string // Regular expressions are sometimes confused with Egyptian hieroglyphics... :-) Š 2013 SAP AG. All rights reserved. 20
  • 21. Variables and Data Types In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of a particular type. The data type of a variable is determined simply by the value it currently holds. // A weakly typed language means that data types are determined // dynamically at runtime, not statically at design time var whoAmI = 'Hello world'; Š 2013 SAP AG. All rights reserved. // Variable 'whoAmI' is both declared & assigned a string value 21
  • 22. Variables and Data Types In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of a particular type. The data type of a variable is determined simply by the value it currently holds. // A weakly typed language means that data types are determined // dynamically at runtime, not statically at design time var whoAmI = 'Hello world'; // Variable 'whoAmI' is both declared & assigned a string value whoAmI = 1.61792; whoAmI = [1,2,3,4,5]; // Now it's a number // Now it's an array Š 2013 SAP AG. All rights reserved. 22
  • 23. Variables and Data Types In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of a particular type. The data type of a variable is determined simply by the value it currently holds. // A weakly typed language means that data types are determined // dynamically at runtime, not statically at design time var whoAmI = 'Hello world'; // Variable 'whoAmI' is both declared & assigned a string value whoAmI = 1.61792; whoAmI = [1,2,3,4,5]; // Now it's a number // Now it's an array whoAmI = true; // Now it's a Boolean Š 2013 SAP AG. All rights reserved. 23
  • 24. Variables and Data Types In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of a particular type. The data type of a variable is determined simply by the value it currently holds. // A weakly typed language means that data types are determined // dynamically at runtime, not statically at design time var whoAmI = 'Hello world'; // Variable 'whoAmI' is both declared & assigned a string value whoAmI = 1.61792; whoAmI = [1,2,3,4,5]; // Now it's a number // Now it's an array whoAmI = true; // Now it's a Boolean whoAmI = { // Now it's an object someProperty: 'Hello world' } Š 2013 SAP AG. All rights reserved. 24
  • 25. Variables and Data Types In weakly typed languages such as JavaScript, there is no concept of declaring that a variable should hold data of a particular type. The data type of a variable is determined simply by the value it currently holds. // A weakly typed language means that data types are determined // dynamically at runtime, not statically at design time var whoAmI = 'Hello world'; // Variable 'whoAmI' is both declared & assigned a string value whoAmI = 1.61792; whoAmI = [1,2,3,4,5]; // Now it's a number // Now it's an array whoAmI = true; // Now it's a Boolean whoAmI = { // Now it's an object someProperty: 'Hello world' } whoAmI = function() { }; Š 2013 SAP AG. All rights reserved. // Now it's a...you get the idea 25