Browse Source

fix(reactivity): ios10.x compatibility (#4900)

descire 4 năm trước cách đây
mục cha
commit
b87dc06193

+ 4 - 0
packages/reactivity/src/baseHandlers.ts

@@ -37,6 +37,10 @@ const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`)
 const builtInSymbols = new Set(
 const builtInSymbols = new Set(
   /*#__PURE__*/
   /*#__PURE__*/
   Object.getOwnPropertyNames(Symbol)
   Object.getOwnPropertyNames(Symbol)
+    // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'
+    // but accessing them on Symbol leads to TypeError because Symbol is a strict mode
+    // function
+    .filter(key => key !== 'arguments' && key !== 'caller')
     .map(key => (Symbol as any)[key])
     .map(key => (Symbol as any)[key])
     .filter(isSymbol)
     .filter(isSymbol)
 )
 )