资讯专栏INFORMATION COLUMN

ES6部分方法点评(二)

android_c / 1535人阅读

摘要:一直以来,的面向对象一般都是靠,但毕竟跟其它语言中的还是相差甚远的当然硬要实现也行,就是特麻烦,现在终于从语言层面实现了,鼓掌这实际上就是提供的方法,即把多个合并到一起,这下又多了一个抛弃的理由了

template string

template string(模板字符串),至ES6,javascript终于也能直接往字符串里插变量了。这用途嘛,说大不大,说小也不小;虽说不能实现比较复杂的例如if/for等语句就不能说是一个完整的模板引擎,但起码以后拼字符串就不用老写连接符+了不是?

let name = "guoyongfeng";
let age = 18;

console.log(`${name} want to drink ${age}`)
Default(函数默认参数)

喜大普奔!javascript终于能像其它语言一样在语言层面给形参设默认值了:

function f(x, y=12) {
  // y is 12 if not passed (or passed as undefined)
  return x + y;
}
f(3) == 15
class, extends, super

作为一个从PHP起跑的码农,这仨语法糖我真的是不得不吃。一直以来,javascript的面向对象一般都是靠prototype,但毕竟跟其它语言中的class还是相差甚远的(当然硬要实现class也行,就是特麻烦),现在ES6终于从语言层面实现class了,鼓掌!!

class Animal {
    constructor(){
        this.type = "animal"
    }
    says(say){
        console.log(this.type + " says " + say)
    }
}

let animal = new Animal()
animal.says("hello") //animal says hello

class Cat extends Animal {
    constructor(){
        super()
        this.type = "cat"
    }
}

let cat = new Cat()
cat.says("hello") //cat says hello
Object.assign

这实际上就是jquery/zepto提供的extend方法,即把多个object合并到一起,这下又多了一个抛弃jquery/zepto的理由了:

var target = { a: 1 };

var source1 = { b: 2 };
var source2 = { c: 3 };

Object.assign(target, source1, source2);
console.log(target); // {a:1, b:2, c:3}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79351.html

相关文章

  • ES6部分方法点评(三):babel-preset-es2015-loose可转换且移动端兼容性较好

    摘要:是目前最常用的转的工具,但即使是,各浏览器的支持度也是不一的,因此便产生了本文,找出一些能够被翻译成兼容性高代码的语法。不可用因为会使用到参考资料,用来查浏览器兼容性。到底将代码转换成什么鸟样,感谢。官网试验转换后的代码 前言 由于目前各浏览器对ES6兼容性较低,再加上需要兼容历史上各种版本的浏览器,因此,使用编译器将ES6语法转译成ES5语法则势在必行了。babel是目前最常用的ES...

    wean 评论0 收藏0
  • ES6部分方法点评(一)

    一直以来,我对ES6都不甚感兴趣,一是因为在生产环境中使用ES5已是处处碰壁,其次则是只当这ES6是语法糖不曾重视。只是最近学习react生态,用起babel来转换jsx之余,也不免碰到诸多用上ES6的教程、案例,因此便稍作学习。这一学习,便觉得这语法糖实在是甜,忍不住尝鲜,于是记录部分自觉对自己有用的方法在此。 箭头函数(Arrow Functions) 箭头函数是一个典型的语法糖,即创造了一种...

    weakish 评论0 收藏0
  • 单例模式之es3与es6双版本(设计模式)

    摘要:单例模式是一种重要的设计模式,有些对象我们只需要创建一个,比如浏览器的对象,模态对话框。普通类负责实现基本功能,代理类管理单例。 定义 保证一个类仅有以一个实例,仅能被实例化/创建一次,并提供全局的访问点。 单例模式是一种重要的设计模式,有些对象我们只需要创建一个,比如浏览器的window对象,模态对话框。实现这种设计模式其实很简单,最重要的是在创建实例的时候,用一个标记变量判断实例是...

    岳光 评论0 收藏0
  • Node 12 值得关注的新特性

    摘要:启动速度大幅提升。同时,通过重用主进程缓存,的启动速度提升了。在已经引入的特性,在里面默认启用,无需使用开启。相关介绍诊断报告提供了新的实验性功能诊断报告,一个非常有用的特性。升级为,增强安全功能。 前言 时隔一年,Node.js 12 如约而至,正式发布第一个 Current 版本。 该版本带来了诸如: V8 更新带来好多不错的特性。 HTTP 解析速度提升。 启动速度大幅提升。 更好的...

    springDevBird 评论0 收藏0
  • webpack多页应用架构系列(八):教练我要写ES6!webpack怎么整合Babel?

    摘要:本文首发于的技术博客实用至上,非经作者同意,请勿转载。只是最近学习生态,用起来转换之余,也不免碰到诸多用上的教程案例,因此便稍作学习。在当前的浏览器市场下,想在生产环境用上,是必不可少的。 本文首发于Array_Huang的技术博客——实用至上,非经作者同意,请勿转载。原文地址:https://segmentfault.com/a/1190000006992218如果您对本系列文章感兴...

    gnehc 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<