ES6

  • 原文收录在我的 GitHub博客 (https://github.com/jawil/blog) ,喜欢的可以关注最新动态,大家一起多交流学习,共同进步,以学习者的身份写博客,记录点滴。

    在一个Web项目中,注册,登录,修改用户信息,下订单等功能的实现都离不开提交表单。这篇文章就阐述了如何编写相对看着舒服的表单验证代码。

    假设我们正在编写一个注册的页面,在点击注册按钮之前,有如下几条校验逻辑。

    • 所有选项不能为空
    • 用户名长度不能少于6位
    • 密码长度不能少于6位
    • 手机号码必须符合格式
    • 邮箱地址必须符合格式

    注:为简单起见,以下例子以传统的浏览器表单验证,Ajax异步请求不做探讨,浏

  • Alvin-LiuAlvin-Liu/Blog· 10 月前 ES6

    上一篇,我们从Symbol和是否可枚举以及属性描述符的角度分析了ES6下怎么浅拷贝一个对象,发表在掘金和segmentfault上(其他地方也能看到这篇文章,虽然并没有人问过我的意见,即便我是同意的,但是连一个“转”字,一个原文链接都不给,这就很让人伤心了),从评论看,部分人觉着看不懂,今天,我们用更简单的方式来聊聊ES6下深拷贝的问题

    写在前面

    深拷贝的话题好像从来没有停止过讨论,JavaScript并没有一个可以实现深拷贝的方法,我们常见的实现方式是递归和JSON.parse(JSON.stringify())(听说底层还是用了递归),然而一般库函数也只能处理常见的需求(不常见的需求真的存

  • Alvin-LiuAlvin-Liu/Blog· 10 月前 ES6

    开始之前

    在开始聊克隆之前,我们还是先来看看js数据类型。js的数据类型分为基本数据类型复杂数据类型

    • 基本数据类型:number、boolean、string、null、undefined、Symbol(ES6 新增)
    • 复杂数据类型:Object,其他引用类型(Array、Date、RegExp、Function、基本包装类型(Boolean、String、Number)、Math等)都是Object类型的实例对象

    克隆:基本数据 => 复制这个变量;复杂数据 => 拷贝引用(网上的介绍很多,不深入了)

    常见浅拷贝

    对于对象的克隆,应该大多数人都能实现出来,可能深、浅拷贝都

    • 原文 Introducing Javascript ES6 Proxies
    • 作者 Ben Garrison

    ES 6 代理 (Proxy) 简介

    代理 (Proxy) 对象是ES 6 中的新特性之一。 代理对象是为了方便开发者自定义一些基本操作 (如 查询属性、 赋值、 枚举、 执行方法等 ) 而定义的。

    在进行下面讲解之前,你可能会觉得一些名词/理论很陌生,我建议你先看看下面的介绍,之后你就会发现
    代理 (Proxy) 原理实际上很简单很实用。

    三个名词定义如下:

    • handler ---- 用来包含(traps) 的模版对象
    • traps ---- 提供来访问代理对象属性的一些方

  • ES6

    什么是ES6

    ECMAScript 标准的历史版本分别是 1、2、3、5。

    ES4 太过激进,被废止。

    ES5

    Object.create() 、 Object.defineProperty() 、
    .map() 、 .filter() …

    ES6

    箭头函数、字符串插值、代理、生成器..
    Map 、 Set对象

    迭代器和 for - of 循环

    for - in 为普通对象遍历自身属性
    forEach 不能 break

    for - in 正确遍历数组、切能响应 break 、 continue 和 return

    Symbol 对象 、 独有不冲突

    迭代器对象

    生成器

  • 1/6