2020-03-28

以下哪一项会对对象person有副作用

const person = {name:'lydia hallie'};
Object.seal(person);
  • A.person.name="Evan Bacon"
  • B.person.age=21
  • C.delete person.name
  • D.Object.assign(person,{age:21})

答案: A

解释:

没有副作用的意思是,除了变量定义的时候赋予的值,其他任何表达式都不会改变任何变量的值。一个函数或者表达式的结果仅仅体现在其输入的参数和返回值上,输入值不变,则返回值不变。函数除了返回一个值,不会有其他作用。

题中,Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。,所以A选项可以改变原属性,sealed的对象不能使用delete删除属性。Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象,但不会改变原对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,399评论 0 3
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,546评论 0 13
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 3,017评论 0 9
  • Object.assign()该方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。语...
    wh_33af阅读 1,685评论 0 0
  • 前言:面试笔试都是必考语法知识点。请认真复习和深入研究OC。 目录:iOS-面试题-OC基础篇 (1) - (84...
    麦穗0615阅读 4,289评论 0 33