diff --git a/app/assets/javascripts/extensions/object.js.es6 b/app/assets/javascripts/extensions/object.js.es6
new file mode 100644
index 0000000000000000000000000000000000000000..f8cdedd507bbd34c4af8fea537ed6d9d34107479
--- /dev/null
+++ b/app/assets/javascripts/extensions/object.js.es6
@@ -0,0 +1,27 @@
+/* eslint-disable */
+
+// Taken from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill
+if (typeof Object.assign != 'function') {
+  Object.assign = function (target, varArgs) { // .length of function is 2
+    'use strict';
+    if (target == null) { // TypeError if undefined or null
+      throw new TypeError('Cannot convert undefined or null to object');
+    }
+
+    var to = Object(target);
+
+    for (var index = 1; index < arguments.length; index++) {
+      var nextSource = arguments[index];
+
+      if (nextSource != null) { // Skip over if undefined or null
+        for (var nextKey in nextSource) {
+          // Avoid bugs when hasOwnProperty is shadowed
+          if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
+            to[nextKey] = nextSource[nextKey];
+          }
+        }
+      }
+    }
+    return to;
+  };
+}
diff --git a/spec/javascripts/extensions/object_spec.js.es6 b/spec/javascripts/extensions/object_spec.js.es6
new file mode 100644
index 0000000000000000000000000000000000000000..3b71c255b309b8134079e293227966a0cd5b7f6b
--- /dev/null
+++ b/spec/javascripts/extensions/object_spec.js.es6
@@ -0,0 +1,25 @@
+/*= require extensions/object */
+
+describe('Object extensions', () => {
+  describe('assign', () => {
+    it('merges source object into target object', () => {
+      const targetObj = {};
+      const sourceObj = {
+        foo: 'bar',
+      };
+      Object.assign(targetObj, sourceObj);
+      expect(targetObj.foo).toBe('bar');
+    });
+
+    it('merges object with the same properties', () => {
+      const targetObj = {
+        foo: 'bar',
+      };
+      const sourceObj = {
+        foo: 'baz',
+      };
+      Object.assign(targetObj, sourceObj);
+      expect(targetObj.foo).toBe('baz');
+    });
+  });
+});