typescript - 一种思维方式

2019-04-23
阅读 8 分钟
9.5k
其实直到最近,我才开始系统的学习 typescript ,前后大概花了一个月左右的时间。在这之前,我也在一些项目中模仿他人的写法用过 TS,不过平心而论,在这一轮系统的学习之前,我并不理解 TS。一个多月前,我理解的 TS 是一种可以对类型进行约束的工具,但是现在才发现 TS 并不简单是一个工具,使用它,会影响我写代码时...

JavaScript Dates 终极指南

2018-08-11
阅读 6 分钟
4.2k
在 JavaScript 中处理日期可能会很复杂,我们一起学习 Dates 所有的怪癖并掌握如何使用它。 简介 在 JavaScript 中处理日期可能会很复杂,无论开发者技术如何,往往都会感到痛苦。 JavaScript 通过一个强大的Date对象对我们提供了日期处理功能。 DATE 对象 Date 对象实例表示单个时间点. 尽管名为 Date, 它同样被用来处...

在浏览器中使用原生 JavaScript 模块 (译)

2018-06-25
阅读 8 分钟
8.8k
JS 模块 目前已得到所有主流浏览器的支持,本文将讲述什么是 JS 模块,如何使用 JS 模块,以及 Chrome 团队未来计划如何优化 JS 模块。

读《算法图解》— 对算法的一些基本理解

2018-06-20
阅读 10 分钟
3.9k
「算法」二字听来高深,常常让人望而却步,而《算法图解》是一本对算法初学者友好的书,此书图文并茂,循序渐进的帮我们理清算法中一些基础概念,还介绍了一些有意思的算法及其用途,以提升读者的兴趣,帮助我们步入算法的大门。本书也许不仅仅是一本讲述概念的书,作者还在潜移默化中培养我们的算法思维,从计算机的角...

Express4.x api 翻译(draft)

2018-01-16
阅读 42 分钟
4k
用了一年多的Express了,其实会用的功能也能基本满足业务的需求,但是总是感觉自己对其的掌握还是缺少一种系统性。故翻译其api,以期自己在翻译过程中对其有更深的认识。

CSS简史(译)

2017-11-06
阅读 5 分钟
5.8k
一直觉得自己没学好css(事实上也许也是如此),经常听说js的历史,但是好像对css的历史却一无所知。虽然历史这类内容对实际的开发也许没有实际的帮助(不像学习了Flexbox,Grids就能马上用到布局中),但是总觉得这也是一个前端工程师应有的软知识。所以看到本文的英文原文的时候就有了翻译的冲动,希望你读完也能有收获。 ...

浅析`redux-thunk`中间件源码

2017-10-27
阅读 3 分钟
4.6k
大多redux的初学者都会使用redux-thunk中间件来处理异步请求,其理解简单使用方便(具体使用可参考官方文档)。我自己其实也一直在用,最近偶然发现其源码只有一个函数,考虑到其在Github上至今有6747个赞,因此比较好奇它究竟给出了一个怎么样的函数。

一篇文章帮你理清GraphQL的核心概念(译)

2017-09-19
阅读 9 分钟
19.4k
一年多以前就听说了GraphQL,前段时间接触了一个海归团队(创始人就来自Facebook),技术栈使用Graphql+Apollo+React,在他们的指导下试用了一下觉得真心酷。遂花了半个多月了解了GraphQL的主要思想和基本用法,碰巧看到一篇文章)把GraphQL的核心概念讲的比较清晰易懂,依据该文,大致翻译如下,如果你也对GraphQL感兴趣,...

弄清Classs,Symbols,Objects拓展 和 Decorators

2017-07-25
阅读 17 分钟
2.3k
类(classes)可能是ES6提供的,我们使用最广的新功能之一了,它以原型链为基础,为我们提供了一种基于类编程的模式。Symbol是一种新的基本类型(JS中的第七种基本类型,另外六种为undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)),它可以用来定义不可变值。本章,我们将首先讨...

重新认识ES6中的语法糖

2017-07-12
阅读 21 分钟
37.7k
本文翻译自 Nicolas Bevacqua 的书籍 《Practical Modern JavaScript》,这是该书的第二章。翻译采用意译,部分内容与原书有所不同。 本章翻译时我最大的收获有以下几点: 对象字面量的简写属性和计算的属性名不可同时使用,原因是简写属性是一种在编译阶段的就会生效的语法糖,而计算的属性名则在运行时才生效; 箭头函...

ECMAScript简史 和 JavaScript的未来(译)

2017-07-06
阅读 11 分钟
8.3k
本文翻译自 Nicolas Bevacqua 的书籍 《Practical Modern JavaScript》,这是该书的第一章。翻译时我收获很大,希望阅读时你也能有所收获。 本章主要讲述了以下内容: JS语言的发展简史; 规范的stage0,stage1,stage2,stage3,stage4各阶段的意义; ployfill是局限性的新规范实现; babel,eslint的基本使用方法; ES6的划分;

重温ES6核心概念和基本用法

2017-06-22
阅读 12 分钟
21.3k
ES6在2015年6月就得以批准,至今已两年了。近一年多以来陆续看过很多ES6的资料,工作项目中也逐步的用上了很多ES6的特性(let,const,promise,Template strings,Class,箭头函数等等),不得不说,这些特性给开发带来了非常多的便利。但是做决定我的ES6知识其实并不够系统,这也是写本文的初衷,希望阅读本文能让你也能对E...

菜鸟的Linux上手指南

2017-06-02
阅读 27 分钟
11.6k
我以前经常在网上查类似于“在Ubuntu下如何让某个用户对某个文件夹拥有可读可写的权限?”,“Mac上如何通过命令行启动某个程序?”,“在Linux中如何彻底卸载某个软件?”这类的问题,当然这类问题都可以较容易的在网上找到解决方案,但是每次解决我都是知其然不知其所以然,所以当下次我碰到类似的问题时,我还是要花一定的...

高性能的网页开发概要

2017-01-18
阅读 14 分钟
4.3k
不知道有多少人和我一样,在以前的开发过程中很少在乎自己编写的网页的性能。或者说一直以来我是缺乏开发高性能网页的意识的,但是想做一个好的前端开发者,是需要在当自己编写的程序慢慢复杂以后还能继续保持网页的高性能的。这需要我们对JavaScript语句,对其运行的宿主环境(浏览器等),对它的操作对象(DOM等)有更深入...

学习Redux刷新了我的前端App状态管理观

2016-11-06
阅读 5 分钟
9.1k
听过Redux好久了,不过真的开始学大概在一个月前,学会Redux之后我用一周多的时间重构了之前纯React写的一个小项目。学习的过程中心态变化很大,但是最终真的感觉如果再写复杂一点的项目,我应该再也不会直接用state管理所有状态了。Redux真的刷新了我的状态管理观。 本文的写作目的在于让那些一直在使用React,但是还没...

(React启蒙)理解React 组件

2016-09-16
阅读 14 分钟
12.2k
本文将首先讲述如何通过React nodes创建基础的React组件,然后进一步剖析React组件内部的点滴,包括该如何理解React组件,获取React组件实例的两种办法,React事件系统,对React生命周期函数的理解,获取React组件的子组件和子节点的方法,字符串ref和函数式ref,以及触发React组件重新渲染的四种方法。本文是React启蒙系...

(React启蒙)认识React nodes

2016-09-09
阅读 10 分钟
16.9k
本章是翻译的React启蒙系列的第四章,主要将讲述如何使用纯JavaScript语句创建React节点,本章内容依旧非常基础,通过阅读本章内容你将了解React nodes的定义,React.createElement()所需的各参数的实际意义以及部分React事件相关知识。

(React启蒙系列翻译)React和Babel的基本使用

2016-08-30
阅读 8 分钟
5.9k
本章将使用React构建一个非常简单的HTML页面,目的在于展示如何在运行时使JSX代码正确转换为浏览器可执行的JavaScript以得到我们想要的结果。

(React启蒙系列)学习React前需要理解的名词

2016-08-28
阅读 3 分钟
3.6k
在正式开始讲解React的机制之前,先之后学习React过程中会遇到的一些名词做一些讲解,是非常有必要的,这样能让后续学习少些迷惑。(原文中这些名词以字母表顺序组织,所以存在前面的名词解释涉及到后面的名词时,可能需要您跳转着阅读。不过这样来回的阅读,虽然麻烦,但是能让记忆更加深刻,所以译文仍以字母顺序表示。)

(React启蒙系列)初探React

2016-08-25
阅读 11 分钟
5.2k
本文翻译自Cody Lindley的《React Enlightenmen》,已获得作者授权,这套书比较基础,看完以后能让你对React有一定的认识。本文是本书的第一章,主要是以一个浅显的例子引出究竟该如何理解React并且简要的介绍了React的几大要素,适合对React感兴趣,但是一直没真的去了解这个工具的童鞋阅读。

是时候理清 React 开发中的一些疑惑了

2016-08-22
阅读 7 分钟
14.4k
React其实很好上手,我在最初使用时并未去了解其一些细节性的东西,但是好像在项目中也一直能正常运作。但是那时总会有一种不安感,深感自己对React的使用逻辑并未理解得非常清晰,本文的目的就在于理清这种使用逻辑,当然个人见解定有偏颇,如果你有一些建议,也希望您能在讨论区予以指教,如果你到现在还没有怎么接触...

入门 Webpack,看这篇就够了

2016-08-05
阅读 26 分钟
739.1k
2018年8月25日更新,目前 webpack 已经更新值 4.17.1 ,本文所用到的各种库或多或少有些过时,跟着代码操作下来可能会遇到各种问题,不过 webpack 的主体思想没变,所以还是希望本文对新学 webpack 的你,有所帮助。此外用基于 webpack 4.17.1 写了一个简单的demo,如果遇到啥问题,可以参考,之后应该会逐步来完善这个d...

不再彷徨:完全弄懂JavaScript中的this(译文总结)

2016-07-26
阅读 5 分钟
15k
其实this是一个老生常谈的问题了。关于this的文章非常多,其实我本以为自己早弄明白了它,不过昨天在做项目的过程中,还是出现了一丝疑惑,想到大概之前在JavaScript weekly里收藏待看的一篇详解this的文章(后有链接,也附上了稀土上的中文译文)和另一篇一位前辈推荐的文章,就把它们看了看,对this的认识确实提升了一...

JavaScript数据类型中易被忽略的点

2016-07-24
阅读 4 分钟
3k
String 字符串中可以包含由反斜杠\和字符构成的特殊字符,如\n换行,\b 退格,\f 换页,\r回车,\tTab; {代码...} ""当做转义符号也可以避免一些问题,如 {代码...} 当计算字符串长度时,特殊字符也会参与计算,如: {代码...} javascript中的字符串只能读取不能改变; javascript中有两种查找子字符串的方法,indexOf和...

JavaScript中,关于变量和声明的一些坑

2016-07-15
阅读 2 分钟
3.5k
那些熟悉PHP,C,Java语言的人初接触JavaScript时,往往会觉得这是一门非常奇怪的语言。让我们从语言的基本特性:变量以及编码方式等方面来说说这些奇怪的地方。

给准备开始前端开发的你的一些小建议(译)

2016-07-14
阅读 2 分钟
3.2k
Safari和Chrome都使用一种叫WebKit的开源渲染引擎,但二者具有不同的JavaScript引擎。Chrome使用Google V8,Safari使用其自有的闭源引擎,由于二者具有相同的渲染引擎,因此它们具有很多相似的特性;

深入了解JavaScript目录(持续更新)

2016-07-13
阅读 1 分钟
3.4k
中文翻译目录 JavaScript: 打好基本功 Javascript及其相关技术简介 web开发相关技术概述(JavaScript, Flash, Java, Silverlight and ActiveX) 给准备开始前端开发的你的一些小建议 第一步 JavaScript中,关于变量和声明的一些坑 待更新... 英文原文目录 JavaScript: from the Ground to Closures Javascript and relat...

web开发相关技术概述(JavaScript, Flash, Java, Silverlight and ActiveX)

2016-07-13
阅读 3 分钟
4.2k
本文将介绍JavaScript的特别之处,为什么要使用JavaScript,以及web开发的其它相关技术的优缺点。 什么是JavaScript? JavaScript是一种脚本语言,为装饰网页而生。它使得网页可以做更多的事情。 除了名字与Java相关外,此语言和Java没有太多关系,JavaScript的语言规格称为ECMAScript JavaScript中的程序称为脚本,它不...

常见设计模式的定义,应用场景和方法

2016-07-01
阅读 10 分钟
14k
模式是对某情景下,针对某种问题的某种解决方案。而一个设计模式是用来解决一个经常出现的设计问题的经验方法。这么说来,每个模式都可能有着自己的意图,应用场景,使用方法和使用后果。本文的行文思路和目的皆在于了解各个模式的定义,应用场景和用实例说明如何在前端开发中使用。 本文所设计到的概念和实例大多来自《...

学习设计模式前需要知道的事情

2016-06-08
阅读 4 分钟
7k
任何事物的出现都有其道理,任何语言都有其不足之处,设计模式是对语言不足的补充(Peter Norvig)。设计模式也是编程经验的总结,我想学习它对像我这样的前端新手的能力会有很大的提升。