javaScript 新方向 (3)

作者: zidea | 来源:发表于2019-01-27 05:29 被阅读47次

我们创建一个对象 sam ,让后调用 Object.freeze 将该对象变为不可变对象。

这样我们创建一个对象时,如果是在之前对象的基础上进行扩展,也可以理解继承,然后修改那些标识不同对象的属性值来重新获取定义一个对象。类似在这里我们 olderSam 的 age 增加  1,看上去没有什么问题,通常我们也是这么做,但是这样做的就会在 olderSam 和 sam 之间产生耦合度。

设想我们为对象添加 sam 一个新的 twitter 的属性,这时样还需修改 olderSam, 添加该属性以保持一致,这就是我们的问题。

然后不手动地为 olderSam 添加 twitter 属性,是否无法自动更新添加该属性以继承 sam 的 twitter 属性的。 

这样我们就需要在 sam 和 olderSam 两个对象上做重复的工作。这是违反我们写优雅代码的原则的。

解构我们通常组装一个对象,根据属性来组装对象,类似安装图纸来组装一个设配,那么解构就类似安装图纸将现有的对象进行一一分解。我们可以通过解构的特性来轻松地实现我们想要的效果。

我们可以定义一个方法,接受一个名称作为参数,输出 hello ... 呵呵。

在 kotlin 这样现代新兴语言基本都支持参数默认值的特性,在 javascript 中 es6 中同样也支这个新的特性。我们可以在默认参数值中使用模板字面量,这里通过$占位符解析的变量。

我们可以在参数变量中使用解析器。

如果我们输入 null ,会将 null 作为值输入显示。

但是如果传入 undefined 作为参数值,就会使用默认值而认为您没有传入参数值。 

相关文章

  • javaScript 新方向 (3)

    我们创建一个对象 sam ,让后调用 Object.freeze 将该对象变为不可变对象。 这样我们创建一个对象时...

  • typescript 中的 interface

    有关接口概念之前的 javascript 新方向中我们提及到了 javascript 作为一门动态语言本身没有接口...

  • javascript 新方向 (5)

    在许多语言中都有都有接口的概念,我在学习 java 语言也是花一段时间才理解接口的作用以及如何使用接口,接口有时候...

  • javaScript 新方向 (8)

    我们开发过程中少不了会用到分支语句,有时候可能为了更好扩展性和易维护性会考虑使用策略模式来代替分支语句,不过每种语...

  • javascript 新方向 (1)

    我们进行编程当然少不了定义变量,其实每一个变量都是有他活动范围,也就是作用域,说白了就是在这个范围内我们可以访问到...

  • javascript 新方向 (2)

    在面向对象的语言世界里,语言都支持多态这个特性,同一个函数可以接受不同个数参数,执行不同的函数体。我们看看在 ja...

  • javascript 新方向 (four)

    遍历集合是没有一种语言必不可少的特性,我们看一看在 es6 在对数组上遍历给我们带来什么惊喜。下面使我们最熟悉的遍...

  • javascript 新方向(6) 分支语句

    这是一段再普通不过分支语句,输入数字,根据数字的可能性进行分支处理进行不同处理。让我们从语言设计层面看一下: 第一...

  • JavaScript(Day02)

    1、JavaScript数组 2、JavaScript对象的使用 3、JavaScript内置对象

  • JAVA Web学习(3)___第3章 JavaScript脚本

    第3章 JavaScript脚本语言 3.1 了解 JavaScript 3.1.1 什么是JavaScript ...

网友评论

    本文标题:javaScript 新方向 (3)

    本文链接:https://www.haomeiwen.com/subject/yxmrjqtx.html