baseAssignValue.js 621 Bytes
Newer Older
徐立's avatar
徐立 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/**
 * The base implementation of `assignValue` and `assignMergeValue` without
 * value checks.
 * 没有值检查的“assignValue”和“assignMergeValue”的基本实现。
 * @private
 * @param {Object} object 要修改的对象.
 * @param {string} key 要分配的属性的键.
 * @param {*} value 要分配的值.
 */
function baseAssignValue(object, key, value) {
  if (key == '__proto__') {
    Object.defineProperty(object, key, {
      'configurable': true,
      'enumerable': true,
      'value': value,
      'writable': true
    })
  } else {
    object[key] = value
  }
}

export default baseAssignValue