<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hitxzi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Hitxzi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Hitxzi]]></copyright><item><title><![CDATA[【译】继承与原型链（Inheritance and the prototype chain）]]></title><link>https://blog.youkuaiyun.com/Hitxzi/article/details/110749497</link><guid>https://blog.youkuaiyun.com/Hitxzi/article/details/110749497</guid><author>Hitxzi</author><pubDate>Sun, 06 Dec 2020 18:34:52 +0800</pubDate><description><![CDATA[前言
原文来自MDN JavaScript主题的高阶教程部分，一共5篇。分别涉及继承与原型、严格模式、类型数组、内存管理、并发模型和事件循环。本篇是第一部分，关于继承和原型。

原文链接请点我


下面是正文部分：
对于熟悉基于类的编程语言（例如 Java 和 C++）的开发者来说，JavaScript 会让他们感到困惑，因为 JS 的动态性以及其本身并不提供class的实现（ES2015 中提出的class关键字仅仅是语法糖，JS 仍然是基于原型的）
提到继承，JavaScript 只有一个结构：对象（o]]></description><category></category></item><item><title><![CDATA[利用 stats.json 定位 @nrwl/react webpack 配置问题]]></title><link>https://blog.youkuaiyun.com/Hitxzi/article/details/110749472</link><guid>https://blog.youkuaiyun.com/Hitxzi/article/details/110749472</guid><author>Hitxzi</author><pubDate>Sun, 06 Dec 2020 18:33:28 +0800</pubDate><description><![CDATA[背景
团队使用NX这一 monorepo 工具来搭建 React 应用。NX 基于 React 应用在 webpack 打包时添加了url-loader的相关配置。但是同事反馈该url-loader针对部分引用的图片文件不起作用。
定位
url-loader 作用
url-loader，简而言之，可以将应用中引用到的一些资源文件（例如图片）转换成 base64 的数据格式，然后嵌入到我们的应用中（例如 HTML 的 img src, css 中的 url 函数），这样便无需针对该资源发起网络请求，节省请求资]]></description><category></category></item><item><title><![CDATA[聊一聊插入排序和比较排序]]></title><link>https://blog.youkuaiyun.com/Hitxzi/article/details/107920928</link><guid>https://blog.youkuaiyun.com/Hitxzi/article/details/107920928</guid><author>Hitxzi</author><pubDate>Mon, 10 Aug 2020 20:06:12 +0800</pubDate><description><![CDATA[简介
插入排序和比较排序是排序算法中比较基础和简单的两种，其时间复杂度均为O(N2)O(N^{2})O(N2)，在分析算法时间复杂度时，我们往往会只会分析比较开销，但是交换开销也确实存在。这里我将综合比较开销和交换开销，来分析一下插入排序和比较排序的区别，以及何时选择插入排序？何时该选择比较排序？
我之前的文章 排序算法详解 里给出了几个基本排序算法的JavaScript版本实现，感兴趣的也可以移步。
空间复杂度
插排和选排的均在交换时使用了一个临时空间，其空间复杂度均为O(1)O(1)O(1)。而且插排和]]></description><category></category></item><item><title><![CDATA[如何写一个Nx schematic plugin?]]></title><link>https://blog.youkuaiyun.com/Hitxzi/article/details/107293143</link><guid>https://blog.youkuaiyun.com/Hitxzi/article/details/107293143</guid><author>Hitxzi</author><pubDate>Sat, 11 Jul 2020 23:45:32 +0800</pubDate><description><![CDATA[前言
玩过Angular的同学都知道Angular作为一个Framework，拥有一套完备的生态，还集成了强大的CLI。而React则仅仅是一个轻量级的Library，官方社区只定义了一套组件的周期规则，而周边社区可以基于此规则实现自己的组件，React并不会提供给你一套开箱即用的方案，而需要自己在第三方市场挑选满意的组件形成“全家桶”，这也是React社区活跃的原因之一。
最近工作中在考虑使用monorepo对项目进行管理，发现了一套dev toolkit叫做Nx，Nx使用monorepo的方式对项目进行]]></description><category></category></item><item><title><![CDATA[JavaScript的面向对象，你真的懂了吗？是否一定需要使用”类“来编程？]]></title><link>https://blog.youkuaiyun.com/Hitxzi/article/details/106368170</link><guid>https://blog.youkuaiyun.com/Hitxzi/article/details/106368170</guid><author>Hitxzi</author><pubDate>Tue, 26 May 2020 23:43:48 +0800</pubDate><description><![CDATA[前言
提到JavaScript，就不得不提那强大的原型链（prototype）。但是近些年的JSers，我想真正在使用原型进行编程的应该很少。为什么？因为JavaScript处处是对象，面向对象设计似乎能与它天然结合。各大流行库例如React，都包含着面向对象设计的思想。
自从ES6 ‘class’ 语法糖的出现，以及Typescript的一些增强语法（例如public, private关键字），更是为我们蒙了一层面纱，今天就是要扒开这层面纱，和大家聊聊JavaScript的面向对象设计，以及另外一种可替代]]></description><category></category></item><item><title><![CDATA[聊聊TypeScript类型兼容，协变、逆变、双向协变以及不变性]]></title><link>https://blog.youkuaiyun.com/Hitxzi/article/details/106368128</link><guid>https://blog.youkuaiyun.com/Hitxzi/article/details/106368128</guid><author>Hitxzi</author><pubDate>Tue, 26 May 2020 23:41:11 +0800</pubDate><description><![CDATA[前言
学过集合论的同学一定知道子集的概念，使用ES6 class写过继承的同学一定知道子类的概念，而使用过TypeScript的同学，也许知道子类型的概念。
但是你知道协变 (Covariant)、逆变 (Contravariant)、双向协变 (Bivariant) 和不变 (Invariant) 这些概念吗？你知道像TypeScript这种强大的静态类型检查的编程语言，是怎么做类型兼容的吗？我们今天来聊聊。

关于Subtyping
子类型是编程语言中一个有趣的概念，源自于数学中子集的概念：

如果集合]]></description><category></category></item></channel></rss>