]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(reactive): reduce code size by assigning to a local variable (#1634)
authorZardddddd60 <ldd_60@163.com>
Tue, 21 Jul 2020 14:33:09 +0000 (22:33 +0800)
committerGitHub <noreply@github.com>
Tue, 21 Jul 2020 14:33:09 +0000 (10:33 -0400)
packages/reactivity/src/reactive.ts

index 383701521e5ed15bae2f3772e89fae9caf917b85..8e333fc81b511d339327e84b6929cf7ee7dac7c2 100644 (file)
@@ -141,12 +141,11 @@ function createReactiveObject(
     return target
   }
   // target already has corresponding Proxy
-  if (
-    hasOwn(target, isReadonly ? ReactiveFlags.READONLY : ReactiveFlags.REACTIVE)
-  ) {
-    return isReadonly
-      ? target[ReactiveFlags.READONLY]
-      : target[ReactiveFlags.REACTIVE]
+  const reactiveFlag = isReadonly
+    ? ReactiveFlags.READONLY
+    : ReactiveFlags.REACTIVE
+  if (hasOwn(target, reactiveFlag)) {
+    return target[reactiveFlag]
   }
   // only a whitelist of value types can be observed.
   if (!canObserve(target)) {
@@ -156,11 +155,7 @@ function createReactiveObject(
     target,
     collectionTypes.has(target.constructor) ? collectionHandlers : baseHandlers
   )
-  def(
-    target,
-    isReadonly ? ReactiveFlags.READONLY : ReactiveFlags.REACTIVE,
-    observed
-  )
+  def(target, reactiveFlag, observed)
   return observed
 }