自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

翻译 【译】继承与原型链(Inheritance and the prototype chain)

前言原文来自MDN JavaScript主题的高阶教程部分,一共5篇。分别涉及继承与原型、严格模式、类型数组、内存管理、并发模型和事件循环。本篇是第一部分,关于继承和原型。原文链接请点我下面是正文部分:对于熟悉基于类的编程语言(例如 Java 和 C++)的开发者来说,JavaScript 会让他们感到困惑,因为 JS 的动态性以及其本身并不提供class的实现(ES2015 中提出的class关键字仅仅是语法糖,JS 仍然是基于原型的)提到继承,JavaScript 只有一个结构:对象(o

2020-12-06 18:34:52 157

原创 利用 stats.json 定位 @nrwl/react webpack 配置问题

背景团队使用NX这一 monorepo 工具来搭建 React 应用。NX 基于 React 应用在 webpack 打包时添加了url-loader的相关配置。但是同事反馈该url-loader针对部分引用的图片文件不起作用。定位url-loader 作用url-loader,简而言之,可以将应用中引用到的一些资源文件(例如图片)转换成 base64 的数据格式,然后嵌入到我们的应用中(例如 HTML 的 img src, css 中的 url 函数),这样便无需针对该资源发起网络请求,节省请求资

2020-12-06 18:33:28 635

原创 聊一聊插入排序和比较排序

简介插入排序和比较排序是排序算法中比较基础和简单的两种,其时间复杂度均为O(N2)O(N^{2})O(N2),在分析算法时间复杂度时,我们往往会只会分析比较开销,但是交换开销也确实存在。这里我将综合比较开销和交换开销,来分析一下插入排序和比较排序的区别,以及何时选择插入排序?何时该选择比较排序?我之前的文章 排序算法详解 里给出了几个基本排序算法的JavaScript版本实现,感兴趣的也可以移步。空间复杂度插排和选排的均在交换时使用了一个临时空间,其空间复杂度均为O(1)O(1)O(1)。而且插排和

2020-08-10 20:06:12 393

原创 如何写一个Nx schematic plugin?

前言玩过Angular的同学都知道Angular作为一个Framework,拥有一套完备的生态,还集成了强大的CLI。而React则仅仅是一个轻量级的Library,官方社区只定义了一套组件的周期规则,而周边社区可以基于此规则实现自己的组件,React并不会提供给你一套开箱即用的方案,而需要自己在第三方市场挑选满意的组件形成“全家桶”,这也是React社区活跃的原因之一。最近工作中在考虑使用monorepo对项目进行管理,发现了一套dev toolkit叫做Nx,Nx使用monorepo的方式对项目进行

2020-07-11 23:45:32 321

原创 JavaScript的面向对象,你真的懂了吗?是否一定需要使用”类“来编程?

前言提到JavaScript,就不得不提那强大的原型链(prototype)。但是近些年的JSers,我想真正在使用原型进行编程的应该很少。为什么?因为JavaScript处处是对象,面向对象设计似乎能与它天然结合。各大流行库例如React,都包含着面向对象设计的思想。自从ES6 ‘class’ 语法糖的出现,以及Typescript的一些增强语法(例如public, private关键字),更是为我们蒙了一层面纱,今天就是要扒开这层面纱,和大家聊聊JavaScript的面向对象设计,以及另外一种可替代

2020-05-26 23:43:48 701

原创 聊聊TypeScript类型兼容,协变、逆变、双向协变以及不变性

前言学过集合论的同学一定知道子集的概念,使用ES6 class写过继承的同学一定知道子类的概念,而使用过TypeScript的同学,也许知道子类型的概念。但是你知道协变 (Covariant)、逆变 (Contravariant)、双向协变 (Bivariant) 和不变 (Invariant) 这些概念吗?你知道像TypeScript这种强大的静态类型检查的编程语言,是怎么做类型兼容的吗?我们今天来聊聊。关于Subtyping子类型是编程语言中一个有趣的概念,源自于数学中子集的概念:如果集合

2020-05-26 23:41:11 1194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除