mozilla
Your Search Results

    lang/type

    Unstable

    Functions for working with type detection.

    Globals

    Functions

    isUndefined(value)

    Returns true if value is undefined, false otherwise.

    let { isUndefined } = require('sdk/lang/type');
    
    var foo;
    isUndefined(foo); // true
    isUndefined(0); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is undefined.

    isNull(value)

    Returns true if value is null, false otherwise.

    let { isNull } = require('sdk/lang/type');
    
    isNull(null); // true
    isNull(false); // false
    
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is null.

    isString(value)

    Returns true if value is a String, false otherwise. Uses typeof operator to check type, and will only properly detect string primitives: for example, a string created with new String() will always return false.

    let { isString } = require('sdk/lang/type');
    
    isString('my string'); // true
    isString(100); // false
    isString('100'); // true
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a String.

    isNumber(value)

    Returns true if value is a Number, false otherwise. Uses typeof operator to check type, and will only properly detect number primitives: for example, a number created with new Number() will always return false.

    let { isNumber } = require('sdk/lang/type');
    
    isNumber(3.1415); // true
    isNumber(100); // true
    isNumber('100'); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a Number.

    isRegExp(value)

    Returns true if value is a RegExp, false otherwise.

    let { isRegExp } = require('sdk/lang/type');
    
    isRegExp(/[^\.]*\.js$/); // true
    isRegExp(new RegExp('substring')); // true
    isRegExp(1000); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a RegExp.

    isDate(value)

    Returns true if value is a Date, false otherwise.

    let { isDate } = require('sdk/lang/type');
    
    isDate(new Date()); // true
    isDate('3/1/2013'); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a Date.

    isFunction(value)

    Returns true if value is a Function, false otherwise.

    let { isFunction } = require('sdk/lang/type');
    
    let fn = function () {};
    isFunction(fn); // true;
    isFunction(otherFn); // true;
    isFunction(function () {}); // true;
    
    function otherFn () {}
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a Function.

    isObject(value)

    Returns true if value is an Object and not null, false otherwise.

    let { isObject } = require('sdk/lang/type');
    
    isObject({}); // true
    isObject(new Class()); // true
    isObject(null); // false
    isObject(5); // false
    
    function Class () {}
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is an Object.

    isArray(value)

    Returns true if value is an Array, false otherwise. Uses native Array.isArray.

    let { isArray } = require('sdk/lang/type');
    
    isArray([]); // true
    isArray({}); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is an Array.

    isArguments(value)

    Returns true if value is an array-like arguments object, false otherwise.

    let { isArguments } = require('sdk/lang/type');
    
    function run () {
      isArguments(arguments); // true
      isArguments([]); // false
      isArguments(Array.slice(arguments)); // false
    }
    run(1, 2, 3);
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is an arguments object.

    isPrimitive(value)

    Returns true if value is a primitive value: that is, any of null, undefined, number, boolean, or string. Returns false if value is not a primitive value.

    let { isPrimitive } = require('sdk/lang/type');
    
    isPrimitive(3); // true
    isPrimitive('foo'); // true
    isPrimitive({}); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a primitive.

    isFlat(value)

    Returns true if value is a direct descendant of Object.prototype or null. Similar to jQuery's isPlainObject.

    let { isFlat } = require('sdk/lang/type');
    
    isFlat({}); // true
    isFlat(new Type()); // false
    
    function Type () {}
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is a direct descendant of Object.prototype or null.

    isEmpty(value)

    Returns true if value is an Object with no properties and false otherwise.

    let { isEmpty } = require('sdk/lang/type');
    
    isEmpty({}); // true
    isEmpty({ init: false }); // false
    Parameters

    value : object
    The variable to check.

    Returns

    boolean : Boolean indicating if value is an Object with no properties.

    isJSON(value)

    Returns true if value is a string, number, boolean, null, array of JSON-serializable values, or an object whose property values are themselves JSON-serializable. Returns false otherwise.

    let { isJSON } = require('sdk/lang/type');
    
    isJSON({ value: 42 }); // true
    isJSON({ fn: function () {} ); // false
    Parameters

    value : mixed
    The variable to check.

    Returns

    boolean : Boolean indicating if value is an Array/flat Object containing only atomic values and other flat objects.

    instanceOf(value, Type)

    Returns true if value is an instance of a given Type. This is similar to the instanceof operator. The difference is that the Type constructor can be from a scope that has a different top level object: for example, it could be from a different iframe, module or sandbox.

    let { instanceOf } = require('sdk/lang/type');
    
    instanceOf(new Class(), Class); // true
    function Class() {}
    Parameters

    value : object
    The variable to check.

    Type : object
    The constructor to compare to value

    Returns

    boolean : Boolean indicating if value is an instance of Type.

    source(value, indent, limit)

    Returns the textual representation of value, containing property descriptors and types of properties contained within the object.

    let { source } = require('sdk/lang/type');
    
    var obj = {
      name: undefined,
      twitter: '@horse_js',
      tweets: [
        { id: 100, text: 'What happens to you if you break the monad laws?' },
        { id: 101, text: 'JAVASCRIPT DUBSTEP GENERATOR' }
      ]
    };
    
    console.log(source(obj));
    // Prints the below
    /*
    { // [object Object]
        // writable configurable enumerable
        name: undefined,
        // writable configurable enumerable
        twitter: "@horse_js",
        // writable configurable enumerable
        tweets: [
            { // [object Object]
                // writable configurable enumerable
                id: 100,
                // writable configurable enumerable
                text: "What happens to you if you break the monad laws?",
                "__proto__": { // [object Object]
    
                }
            },
            { // [object Object]
                // writable configurable enumerable
                id: 101,
                // writable configurable enumerable
                text: "JAVASCRIPT DUBSTEP GENERATOR",
                "__proto__": { // [object Object]
    
                }
            }
        ],
        "__proto__": { // [object Object]
    
        }
    }
    */
    Parameters

    value : mixed
    The source object to create a textual representation of.

    indent : string
    Optional. String to be used as indentation in output. 4 spaces by default.

    limit : number
    Optional. Number of properties to display per object.

    Returns

    string : The textual representation of value.

    Document Tags and Contributors

    Contributors to this page: wbamberg, jsantell
    Last updated by: wbamberg,
    Hide Sidebar