blob: ec138bb320d4414261757aec691683d78cd3de03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
Documents > Type Conversion
Type Conversion
The as operator is used for: conversion between primitive types (including Nullable and variant), down-casting of object types.
The conversion rules between primitive types are defined as follows. If the source type is a Nullable type and if the value is null, a run-time exception is raised under debug builds. The behavior is unspecified for release builds.
The result of conversion from a variant type depends on the result of the typeof operator applied to the variant.
Down-casting of an object type returns a reference to the casted object if successful, otherwise null.
Table 1. Conversion between the Primitive Types using the As Operator
Source Type Destination Type Result
boolean number 0 if false, 1 if true
boolean int same as above
boolean string "false" if false, "true" if true
number boolean false if 0 or NaN, otherwise true
number int fractional part is removed, becomes 0 if NaN, may get rounded to between -231 and 231-1
number string converted to string representation
int boolean false if 0, otherwise true
int number converted to number of same value
int string converted to string representation
string boolean false if the string is empty, otherwise true
string number 0 if the string is empty, a number if the string can be parsed as a string, otherwise NaN
string int equivalent to: as number as int
Table 2. Conversion from Variant using the As Operator
Result of typeof(variant) Destination Type Result
"undefined" boolean false
"undefined" number NaN
"undefined" int 0
"undefined" string "undefined"
"null" boolean false
"null" number 0
"null" int 0
"null" string "null"
"boolean" any primitive type equivalent to the result of: boolean as type
"number" any primitive type equivalent to the result of: number as type
"string" any primitive type equivalent to the result of: string as type
"object" any primitive type depends on the actual type of the value
"object" any object type reference to the object if the value is an object of the specified type, otherwise null
|