diff --git a/src/core.js b/src/core.js index 0bab1a80c..5e0037f19 100644 --- a/src/core.js +++ b/src/core.js @@ -498,7 +498,7 @@ if ( typeof Symbol === "function" ) { /* jshint ignore: end */ // Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error".split( " " ), +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), function( i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); diff --git a/test/unit/core.js b/test/unit/core.js index f8fb1c7cd..c6d68df2d 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -264,6 +264,19 @@ QUnit.test( "type", function( assert ) { assert.equal( jQuery.type( new MyObject() ), "object", "Object" ); } ); +QUnit.test( "type for `Symbol`", function( assert ) { + // Prevent reference errors + if( typeof Symbol !== "function" ) { + assert.expect( 0 ); + return + } + + assert.expect( 2 ); + + assert.equal( jQuery.type( Symbol() ), "symbol", "Symbol" ); + assert.equal( jQuery.type( Object( Symbol() ) ), "symbol", "Symbol" ); +}); + QUnit.asyncTest( "isPlainObject", function( assert ) { assert.expect( 16 );