diff --git a/Gruntfile.js b/Gruntfile.js
index 4aaef63ef6ee30342491366d8ae9f449c11ac455..aee50c4634c117c660f98ba4093ca8517f76f6e4 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -66,8 +66,8 @@ module.exports = function (grunt) {
       },
       grunt: {
         options: {
-          'requireCamelCaseOrUpperCaseIdentifiers': null,
-          'requireParenthesesAroundIIFE': true
+          requireCamelCaseOrUpperCaseIdentifiers: null,
+          requireParenthesesAroundIIFE: true
         },
         src: '<%= jshint.grunt.src %>'
       },
@@ -95,7 +95,7 @@ module.exports = function (grunt) {
       ],
       docs: {
         options: {
-          'ids': false,
+          ids: false,
           'overqualified-elements': false
         },
         src: 'docs/assets/css/src/docs.css'
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index 10ce289be7c49b089966c8d4d5baf1897d59d32f..e389c196042de5c58e173d439e072259e8deb48a 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -25,10 +25,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
     var el = document.createElement('bootstrap')
 
     var transEndEventNames = {
-      'WebkitTransition' : 'webkitTransitionEnd',
-      'MozTransition'    : 'transitionend',
-      'OTransition'      : 'oTransitionEnd otransitionend',
-      'transition'       : 'transitionend'
+      WebkitTransition : 'webkitTransitionEnd',
+      MozTransition    : 'transitionend',
+      OTransition      : 'oTransitionEnd otransitionend',
+      transition       : 'transitionend'
     }
 
     for (var name in transEndEventNames) {
diff --git a/docs/assets/js/src/customizer.js b/docs/assets/js/src/customizer.js
index a0e4a28d194b42159fef14d2042eb5b3816c8717..4ce304f1a1bbaaa0f6e1d0f66993bb326ee4055e 100644
--- a/docs/assets/js/src/customizer.js
+++ b/docs/assets/js/src/customizer.js
@@ -45,11 +45,11 @@ window.onload = function () { // wait for load in a dumb way because B-0
 
   function createGist(configJson) {
     var data = {
-      'description': 'Bootstrap Customizer Config',
+      description: 'Bootstrap Customizer Config',
       'public': true,
-      'files': {
+      files: {
         'config.json': {
-          'content': configJson
+          content: configJson
         }
       }
     }
diff --git a/js/.jscsrc b/js/.jscsrc
index 2da777a2221225c10077125ad72a0b344cd324d5..fc8bc88ca6715fb8650a6d449c58701a301b5474 100644
--- a/js/.jscsrc
+++ b/js/.jscsrc
@@ -4,6 +4,7 @@
   "disallowLeftStickedOperators": ["?", "+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
   "disallowMixedSpacesAndTabs": true,
   "disallowMultipleLineStrings": true,
+  "disallowQuotedKeysInObjects": "allButReserved",
   "disallowRightStickedOperators": ["?", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
   "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~"],
   "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js
index f0ac577c6e62abaa5ca44d4aae66e301503e97b5..9df234236c3698e950e5e29c30d6b75f20212021 100644
--- a/js/tests/unit/tooltip.js
+++ b/js/tests/unit/tooltip.js
@@ -391,12 +391,12 @@ $(function () {
   test('tooltips should be placed dynamically, with the dynamic placement option', function () {
     $.support.transition = false
     var ttContainer = $('<div id="dynamic-tt-test"/>').css({
-      'height' : 400,
-      'overflow' : 'hidden',
-      'position' : 'absolute',
-      'top' : 0,
-      'left' : 0,
-      'width' : 600
+      height : 400,
+      overflow : 'hidden',
+      position : 'absolute',
+      top : 0,
+      left : 0,
+      width : 600
     })
     .appendTo('body')
 
diff --git a/js/transition.js b/js/transition.js
index efa8c17165f893d0ff48cd64fb0bd27923c30f22..b8559c74ebbad70a572f3971a65bcde9c84ec456 100644
--- a/js/transition.js
+++ b/js/transition.js
@@ -17,10 +17,10 @@
     var el = document.createElement('bootstrap')
 
     var transEndEventNames = {
-      'WebkitTransition' : 'webkitTransitionEnd',
-      'MozTransition'    : 'transitionend',
-      'OTransition'      : 'oTransitionEnd otransitionend',
-      'transition'       : 'transitionend'
+      WebkitTransition : 'webkitTransitionEnd',
+      MozTransition    : 'transitionend',
+      OTransition      : 'oTransitionEnd otransitionend',
+      transition       : 'transitionend'
     }
 
     for (var name in transEndEventNames) {