diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts index ff163179f..fe07600d9 100644 --- a/packages/reactivity/src/baseHandlers.ts +++ b/packages/reactivity/src/baseHandlers.ts @@ -2,19 +2,19 @@ import { reactive, readonly, toRaw } from './reactive' import { OperationTypes } from './operations' import { track, trigger } from './effect' import { LOCKED } from './lock' -import { isObject, hasOwn } from '@vue/shared' +import { isObject, hasOwn, isSymbol } from '@vue/shared' import { isRef } from './ref' const builtInSymbols = new Set( Object.getOwnPropertyNames(Symbol) .map(key => (Symbol as any)[key]) - .filter(value => typeof value === 'symbol') + .filter(isSymbol) ) function createGetter(isReadonly: boolean) { return function get(target: any, key: string | symbol, receiver: any) { const res = Reflect.get(target, key, receiver) - if (typeof key === 'symbol' && builtInSymbols.has(key)) { + if (isSymbol(key) && builtInSymbols.has(key)) { return res } if (isRef(res)) {