# Data Types
The WXS language currently supports the following data types:
number
string
boolean
object
function
array
date
regexp
(regular expression)
# number
# Syntax
There are two types of numbers: integers and decimals.
var a = 10;
var PI = 3.141592653589793;
# Properties
constructor
: Returns the string"Number"
.
# Methods
toString
toLocaleString
valueOf
toFixed
toExponential
toPrecision
For information on using the above methods, refer to the
ES5
standard.
# string
# Syntax
There are two ways to write a string:
'hello world';
"hello world";
# Properties
constructor
: Returns the string"String"
.length
For explanations of properties other than constructor, refer to the
ES5
standard.
# Methods
toString
valueOf
charAt
charCodeAt
concat
indexOf
lastIndexOf
localeCompare
match
replace
search
slice
split
substring
toLowerCase
toLocaleLowerCase
toUpperCase
toLocaleUpperCase
trim
For information on using the above methods, refer to the
ES5
standard.
# boolean
# Syntax
Boolean values can take one of two values: true
or false
.
# Properties
constructor
: Returns the string"Boolean"
.
# Methods
toString
valueOf
For information on using the above methods, refer to the
ES5
standard.
# object
# Syntax
An object is a type of unordered key-value pair, which can be used in the following ways:
var o = {} // Generates a new empty object.
// Generates a new non-empty object.
o = {
'string' : 1, //The object’s key can be a string.
const_var : 2, //The object’s key can also be an identifier that conforms to the variable definition rules.
func : {}, //The object’s value can be of any type.
};
//Object property read operation
console.log(1 === o['string']);
console.log(2 === o.const_var);
//Object property write operation
o['string']++;
o['string'] += 10;
o.const_var++;
o.const_var += 10;
//Object property read operation
console.log(12 === o['string']);
console.log(13 === o.const_var);
# Properties
constructor
: Returns the string"Object"
.
console.log("Object" === {k:"1",v:"2"}.constructor)
# Methods
toString
: Returns the string"[object Object]"
.
# function
# Syntax
function supports the following definition methods:
//Method 1
function a (x) {
return x;
}
//Method 2
var b = function (x) {
return x;
}
function also supports the following syntax (anonymous functions, closures, etc.):
var a = function (x) {
return function () { return x;}
}
var b = a(100);
console.log( 100 === b() );
# arguments
In function, you can use the arguments
keyword. This keyword only has the following properties at present:
length
: The number of arguments passed to the function.[index]
: Each argument passed to the function can be traversed by theindex
subscript.
Sample code:
var a = function(){
console.log(3 === arguments.length);
console.log(100 === arguments[0]);
console.log(200 === arguments[1]);
console.log(300 === arguments[2]);
};
a(100,200,300);
# Properties
constructor
: Returns the string"Function"
.length
: Returns the number of formal parameters of the function.
# Methods
toString
: Returns the string"[function Function]"
.
Sample code:
var func = function (a,b,c) { }
console.log("Function" === func.constructor);
console.log(3 === func.length);
console.log("[function Function]" === func.toString());
# array
# Syntax
array supports the following definition methods:
var a = []; // Generates a new empty array.
a = [1,"2",{},function(){}]; // Generates a new non-empty array, with array elements of any type.
# Properties
constructor
: Returns the string"Array"
.length
For explanations of properties other than constructor, refer to the
ES5
standard.
# Methods
toString
concat
join
pop
push
reverse
shift
slice
sort
splice
unshift
indexOf
lastIndexOf
every
some
forEach
map
filter
reduce
reduceRight
For information on using the above methods, refer to the
ES5
standard.
# date
# Syntax
Generates the getDate
function required by the date object and returns a current time object.
getDate()
getDate(milliseconds)
getDate(datestring)
getDate(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]])
- Parameters
milliseconds
: The number of milliseconds from 00:00:00 UTC January 1, 1970.datestring
: The date string, in the format: "month day, year hours:minutes:seconds".
Sample code:
var date = getDate(); //Returns the current time object.
date = getDate(1500000000000);
// Fri Jul 14 2017 10:40:00 GMT+0800 (China Standard Time)
date = getDate('2017-7-14');
// Fri Jul 14 2017 00:00:00 GMT+0800 (China Standard Time)
date = getDate(2017, 6, 14, 10, 40, 0, 0);
// Fri Jul 14 2017 10:40:00 GMT+0800 (China Standard Time)
# Properties
constructor
: Returns the string"Date"
.
# Methods
toString
toDateString
toTimeString
toLocaleString
toLocaleDateString
toLocaleTimeString
valueOf
getTime
getFullYear
getUTCFullYear
getMonth
getUTCMonth
getDate
getUTCDate
getDay
getUTCDay
getHours
getUTCHours
getMinutes
getUTCMinutes
getSeconds
getUTCSeconds
getMilliseconds
getUTCMilliseconds
getTimezoneOffset
setTime
setMilliseconds
setUTCMilliseconds
setSeconds
setUTCSeconds
setMinutes
setUTCMinutes
setHours
setUTCHours
setDate
setUTCDate
setMonth
setUTCMonth
setFullYear
setUTCFullYear
toUTCString
toISOString
toJSON
For information on using the above methods, refer to the
ES5
standard.
# regexp
# Syntax
Generates the getRegExp
function to be used by the regexp object.
getRegExp(pattern[, flags])
- Parameters:
pattern
: The content of the regular expression.flags
: The modifiers. This field can only include the following characters:g
: globali
: ignoreCasem
: multiline
Sample code:
var a = getRegExp("x", "img");
console.log("x" === a.source);
console.log(true === a.global);
console.log(true === a.ignoreCase);
console.log(true === a.multiline);
# Properties
constructor
: Returns the string"RegExp"
.source
global
ignoreCase
multiline
lastIndex
For explanations of properties other than constructor, refer to the
ES5
standard.
# Methods
exec
test
toString
For information on using the above methods, refer to the
ES5
standard.
# Data Type Determination
###constructor
Property
You can use the constructor
property to determine the data type.
Sample code:
var number = 10;
console.log( "Number" === number.constructor );
var string = "str";
console.log( "String" === string.constructor );
var boolean = true;
console.log( "Boolean" === boolean.constructor );
var object = {};
console.log( "Object" === object.constructor );
var func = function(){};
console.log( "Function" === func.constructor );
var array = [];
console.log( "Array" === array.constructor );
var date = getDate();
console.log( "Date" === date.constructor );
var regexp = getRegExp();
console.log( "RegExp" === regexp.constructor );
# typeof
You can also use typeof
to distinguish certain data types.
Sample code:
var number = 10;
var boolean = true;
var object = {};
var func = function(){};
var array = [];
var date = getDate();
var regexp = getRegExp();
console.log( 'number' === typeof number );
console.log( 'boolean' === typeof boolean );
console.log( 'object' === typeof object );
console.log( 'function' === typeof func );
console.log( 'object' === typeof array );
console.log( 'object' === typeof date );
console.log( 'object' === typeof regexp );
console.log( 'undefined' === typeof undefined );
console.log( 'object' === typeof null );