首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么这个getter函数只返回初始值

这个getter函数只返回初始值的原因可能有以下几个方面:

  1. 代码逻辑设计:在某些情况下,开发者可能有意设计getter函数只返回初始值。这样做的目的可能是为了保护数据的安全性或者限制对数据的访问。例如,在某些敏感数据的处理过程中,只允许获取初始值,而不允许获取经过处理后的结果。
  2. 数据尚未更新:getter函数只返回初始值可能是因为数据尚未被更新。在某些场景下,数据的更新可能需要经过一系列的处理步骤,而这些步骤可能需要一定的时间。在这种情况下,getter函数只能返回初始值,直到数据更新完成。
  3. 异步操作:如果getter函数涉及到异步操作,例如从数据库或者远程服务器获取数据,那么在异步操作完成之前,只能返回初始值。这是因为异步操作需要一定的时间来完成,而getter函数需要立即返回结果。
  4. 数据保护和安全性考虑:有时候,开发者可能希望限制对某些数据的访问,特别是在涉及到敏感信息或者权限控制的情况下。通过只返回初始值,可以避免意外或未经授权的访问。

需要注意的是,以上只是一些可能的原因,具体情况可能因开发者的设计意图和业务需求而有所不同。在实际开发中,根据具体情况来决定getter函数的返回值是很常见的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

小心这个陷阱: 为什么JS中的 every()对空数组总返回 true

但是,为什么在没有值来运行回调函数时,空数组会返回 true 给 every() 呢? 要理解为什么,我们需要仔细看看规范是如何描述这个方法的。...如果数组中没有任何项目,那么就没有机会执行回调函数,因此,该方法无法返回 false 。 现在的问题是:为什么 every() 会表现出这样的行为?...在数学和JavaScript中的“对所有”的量词 MDN页面 提供了为什么 every() 会对空数组返回 true 的答案: every 的行为就像数学中的“全称量词”。...这个“存在量词”规定,对于任何空集合,结果都是假的。因此,some() 方法对空集合返回 false,并且也不会执行回调函数。...如果你也对这个行为感到困惑,那么我建议你改变阅读 every() 调用的方式。不要把 every() 理解为“这个数组中的每一项是否都符合这个条件?”

21420

程序员必须掌握的600个英语单词

、通用的、泛化 generic algorithm 泛型演算法 通用算法 getter (相对於 setter) 取值式 global 全域的(对应於 local) 全局的 global object...继承机制 inline 行内 内联 inline expansion 行内展开 内联展开 initialization 初始化(动作) 初始化 initialization list 初值列 初始值列表...、通用的、泛化 generic algorithm 泛型演算法 通用算法 getter (相对於 setter) 取值式 global 全域的(对应於 local) 全局的 global object...继承机制 inline 行内 内联 inline expansion 行内展开 内联展开 initialization 初始化(动作) 初始化 initialization list 初值列 初始值列表...return type 回返型别 返回类型 return value 回返值 返回值 robust 强固、稳健 健壮 robustness 强固性、稳健性 健壮性 routine 常式 例程

1.3K20
  • 程序员应该掌握的600个英语单词

    、通用的、泛化  generic algorithm 泛型演算法 通用算法  getter (相对於 setter) 取值式  global 全域的(对应於 local) 全局的  global object...继承机制  inline 行内 内联  inline expansion 行内展开 内联展开  initialization 初始化(动作) 初始化  initialization list 初值列 初始值列表...、通用的、泛化  generic algorithm 泛型演算法 通用算法  getter (相对於 setter) 取值式  global 全域的(对应於 local) 全局的  global object...继承机制  inline 行内 内联  inline expansion 行内展开 内联展开  initialization 初始化(动作) 初始化  initialization list 初值列 初始值列表...  return type 回返型别 返回类型  return value 回返值 返回值  robust 强固、稳健 健壮  robustness 强固性、稳健性 健壮性  routine 常式 例程

    1.3K00

    函数式编程入门教程

    上面这些说法都对,但还不够,都没有回答下面这个更深层的问题。 ? 为什么要这样做? 这就是,本文要解答的问题。我会通过最简单的语言,帮你理解函数式编程,并且学会它那些基本写法。...有了柯里化以后,我们就能做到,所有函数只接受一个参数。后文的内容除非另有说明,都默认函数只有一个参数,就是所要处理的那个值。...上面的例子说明,函数式编程里面的运算,都是通过子完成,即运算不直接针对值,而是针对这个值的容器----子。...Monad 子的作用是,总是返回一个单层的子。...这就是神奇的地方,上面的代码完成了不纯的操作,但是因为flatMap返回的还是一个 IO 子,所以这个表达式是纯的。我们通过一个纯的表达式,完成带有副作用的操作,这就是 Monad 的作用。

    1.1K20

    函数式编程入门教程

    上面这些说法都对,但还不够,都没有回答下面这个更深层的问题。 为什么要这样做? 这就是,本文要解答的问题。我会通过最简单的语言,帮你理解函数式编程,并且学会它那些基本写法。...后文的内容除非另有说明,都默认函数只有一个参数,就是所要处理的那个值。 三、子 函数不仅可以用于同一个范畴之中值的转换,还可以用于将一个范畴转成另一个范畴。这就涉及到了子(Functor)。...,即运算不直接针对值,而是针对这个值的容器----子。...这当然很不方便,因此就出现了 Monad 子。 Monad 子的作用是,总是返回一个单层的子。.../user.txt') .flatMap(print) 这就是神奇的地方,上面的代码完成了不纯的操作,但是因为flatMap返回的还是一个 IO 子,所以这个表达式是纯的。

    1.5K50

    Applicative

    这个定义来看,似乎只要是满足了以上几个条件的类型就可以称为 applicative 子,事实上并非如此,要成为 applicative 子还需要满足一条最重要的定律: pure f x =...,pure 取一个值,产生一个最小上下文,组合成一个 applicative 值,所以产生了一个忽略参数永远返回初始值(pure 的参数)的函数。...至于的话,先考虑函数作为普通子的情况,我们知道子值是一个包涵上下文的值,当函数作为子值时,从这个上下文中取值的操作就是将一个参数传递给该函数,然后产生一个值,所以函数作为Functor类型类的实例时是这样的...接收一个函数和一个子值,取出子值中的值传递给函数,然后返回一个子值。...当函数作为子值时,fmap 还是返回一个函数(这里用 lambda 表示)。

    74110

    深入理解JavaScript函数式编程

    为什么要学习函数式编程?...getAreaWithMemory(4)); // console.log(getAreaWithMemory(4)); // console.log(getAreaWithMemory(4)); /* 4 表示getArea这个数只执行了一次...当函数有多个参数的时候,对函数进行改造调用一个函数只传递并返回一个新的函数(这部分参数以后永远不会发生变化),这个新的函数去接收剩余的参数,返回结果。...子就是一个实现了map的契约对象 可以把子想象成一个盒子,这个盒子里面封装了一个值 想要处理盒子中的值,需要盒子的map方法传递一个处理值的函数(纯函数),由这个函数来对值进行处理 最终map方法返回一个包含新值的盒子...Monad 子内部封装的值是一个函数(这个函数返回函子),目的是通过 join 方法避免子嵌套

    4.3K30

    【Vue原理】Computed - 源码版

    现在终于想通了 过了一段时间之后,你就会忘记你的所谓理解是怎么来的 “哎,为什么会这么做,关系为什么是这样,我c....”...这里可以算是 Vue 的一个优化,只有你再读取 computed,再开始计算,而不是初始化就开始计算值了 虽然没有一开始计算,但是计算 value 还是这个 watcher.get 这个方法,来看下源码...(已省略部分代码,下面讲其他问题,会更详细展示出来) 这个方法,其实就是执行 保存的 getter 函数,从而得到计算值,灰常简单 Watcher.prototype.get = function()...的,而 lazy 赋值给 dirty,就是给一个初始值,表示 你控制缓存的任务开始了 所以记住,【dirty】 是真正的控制缓存的关键,而 lazy 只是起到一个开启的作用 具体,怎么控制缓存,下面会说...Object.defineProperty 在 实例上computed 属性,所以可以直接访问 2、set 函数默认是空函数,如果用户设置,则使用用户设置 3、createComputedGetter 包装返回

    1.1K50

    Java Review (十二、面向对象----final 修饰符)

    但对于引用类型变量而言 ,它保存的仅仅是一个引用, final 只保证这个引用类型变量所引用的地址不会改变,即 一直引用同一个对象,但这个对象完全可以发生改变 。...只要编译器发现一个final 方法调用,就会(编译器判断)忽略为执行方法调用机制而采取的常规代码插入方法(将变量压入堆栈;跳至方法代码并执行它;跳回来; 清除堆栈变量; 最后对返回值进行处理)。...} } 对于一个 private 方法 , 因为它仅在当前类中可见, 其子类无法访问该方法 , 所以子类无法重写该方法一一如果子类中定义一个与父类 private 方法有相同方法名、相同形参列表、相同返回值类型...因此, 即使使用 final 修饰一个 private 访问权限的方法,依然可 以在其子类中定义与该方法具有相同方法名 、 相同形参列表、相同返回值类型的方法。...仅为该类的成员变量提供 getter 方法,不要为该类的成员变量提供 setter 方法 ,因为普通方法无法修改 final 修饰的成员变量。

    45740

    抱歉!不要用Java的语法思维来写Kotlin

    val 和 var 是用于表示属性是否有 getter/setter: var:同时有 getter 和 setter val:只有 getter 所以,强烈推荐能用 val的地方就用 val。...length 如果 b 非空,就返回 b.length,否则返回 null,这个表达式的类型是 Int?。 安全调用在链式调用中很有用。...name 如果任意一个属性(环节)为空,这个链式调用就会返回 null。...函数的返回值可以是null 8.真的要习惯Koltin的for循环,太强大了 Kotlin没有Java中的for(初始值;条件;增减步长)这个规则。...for循环提供迭代器用来遍历任何东西 for循环数组被编译为一个基于索引的循环,它不会创建一个迭代器对象 新增的规则,去满足for(初始值;条件;增减步长)这个规则 递增 关键字:until 范围:until

    3K40

    《The Joy of Javascript》- 2 - FunctorMonad

    相关文章 Functor & Monad | 子和单子 Functor Functor 的特性 Summary 相关文章 一本书里面内容较多, 因此分成了多篇 Post, 可以从此处看到相关文章...: Tag: The Joy of Javascript Functor & Monad | 子和单子 实现 FP 需要保证一些函数的输入和输出规范化...._value : 通过这个属性从容器中取得实际的值 2. of() : 给方法提供初始值 3. map() : map 方法接收一个 fn, fn 去得到一个新的值 class Container {..., 区别在于有时候子的返回值不是我们需要的类型 使用 compose 要求输入和输出一致比如 number -> number 但是有一些操作会返回更多的类型比如 number -> number[...] 这个时候需要一个 flatMap 方法进行拍平 又或者可能会出现返回嵌套类型比如 number -> { res: number } 这个时候可能需要对 Object 进行额外的 mapping

    28630

    C++11 lambda

    在本文中,我们将研究lambda与纯函数和子类(实现的类)在实现方面的区别operator()。...对于普通函数而言,函数只是用来表达一个运算的过程,它无法记住运算过程中的一些状态数据。函数就像一个漏斗,数据可以从这个漏洞中流过,发生某些变化,但是这个漏斗什么都不会留下。...函数对象的出现就是用来弥补函数的这个缺陷的。利用函数对象自身的成员变量,函数可以记住在每次执行过程中的状态数据,找回失去的记忆。...; }; class Bar { public: void methodB(); }; void main() { std::function f1; // 无参数,无返回值...methodInt, &foo, 42); f1(); // 调用 foo.methodInt(42); std::function f2; // int 参数,无返回

    1.1K30

    写了多年的Java,直到看到Kotlin,原来代码可以如此优雅!

    val 和 var 是用于表示属性是否有 getter/setter: var:同时有 getter 和 setter val:只有 getter 所以,强烈推荐能用 val 的地方就用 val 。...length 如果 b 非空,就返回 b.length,否则返回 null,这个表达式的类型是 Int?。 安全调用在链式调用中很有用。...name 如果任意一个属性(环节)为空,这个链式调用就会返回 null。...函数的返回值可以是null 8.真的要习惯Koltin的for循环,太强大了 Kotlin没有Java中的for(初始值;条件;增减步长)这个规则。...for循环提供迭代器用来遍历任何东西 for循环数组被编译为一个基于索引的循环,它不会创建一个迭代器对象 新增的规则,去满足for(初始值;条件;增减步长)这个规则 递增 关键字:until 范围

    3.3K40

    Vue3 源码解析(八):ref 与 computed 原理揭秘

    函数的逻辑为先使用 isRef 判断是否为 rawValue,如果是的话则直接返回这个 ref 对象。 否则返回一个新创建的 RefImpl 类的实例对象。...computed 在文档中关于 computed api 是这样介绍的:接受一个 getter 函数,并以 getter 函数的返回返回一个不可变的响应式 ref 对象。...类型的参数,并返回 ComputedRef 类型的函数签名是文档中描述的第一种情况,接受 getter 函数,并以 getter 函数的返回返回一个不可变的响应式 ref 对象。...ComputedGetter set: ComputedSetter } 从类型定义中得知:WritableComputedRef 以及 ComputedRef 都是扩展自 Ref 类型的,这也就理解了文档中为什么说...getterOrOptions.set ) as any } 在 computed api 中,首先会判断传入的参数是一个 getter 函数还是 options 对象,如果是函数的话则这个数只能是

    1.7K30

    函数式编程了解一下(下)

    很显然,累加器的初始值为value,它将作为函数的第一个输入。...如上,我们请求一个接口,然后日常处理接口返回数据,并不需要去担心值是否存在而导致程序异常~ ? img Either子 上面,我们可以正确的处理数据了,但是错误的数据呢?...哇,搞了半天,你MayBe不咋地啊~ 其实不然,只是不同的子有自己不同的侧重,在这个时候,我们就需要一个更加强大的MayBe子了:Either子 大家都是聪明人,我就不多介绍了,直接看代码: const...貌似我们一直以来都在解决问题,这种感觉就像现实中,这个人很面熟了,但是。。。还不知道怎么称呼一样。尴尬~ OK,Monad就是一个含有chain方法的子,这就是Monad!...(是不是感觉这个定义非常的山寨,哈哈) 如你所见,我们通过添加一个chain(当然也包括join)来展开MayBe子,是其成为了一个Monad!

    1K20
    领券