编程与软件工程github.com编辑精选
《你不懂 JS》JavaScript 系列丛书
A book series on JavaScript
2014 — 2016,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Kyle Simpson 的《You Don't Know JS》系列书籍在 GitHub 上的开源内容,深入讲解 JavaScript 的核心机制,如 this、闭包、原型和作用域等。评论中既有对内容深度的推荐,也有对示例可读性和系列标题语气的讨论。
为什么经久不衰:它系统梳理了 JavaScript 中容易被忽视或误解的底层概念,多年后仍是理解语言核心机制的有价值参考。
HN 评论精选
批评示例命名和场景过于抽象,影响可读性。
书中示例的变量名都是 foo、bar、baz、a、obj 之类,值也全是数字,理解示例想说明什么需要很大的认知负担。好的编程书会用连贯的示例程序(比如动物、银行存取款)来让概念更易读。
ninkendo查看英文原文
Just reading through the first few chapters of the book on the `this` keyword (which, as an aside, is shocking to see that the feature is so confusing that it merits its own entire book), the code snippets could use some serious attention. The variables are all `foo`, `bar`, `baz`, `a`, `obj`, etc. And the values are all just numbers. Sometimes they have a function that takes a value `a`, and they just do `this.a = a`. It requires a ton of cognitive strain to glean out what they're trying to show you in the examples because of this. IMO the best books are those where they use silly (possibly contrived) "sample program" that the examples all build on. I mean, you could make your classes Cows and Animals, your functions moo's, your properties things like name and favoriteColor, and things can suddenly be a lot more readable when you want to do something like show lexical scoping rules. ("Oh no, that cow's name is steve, when you may have expected it to be bob because of the difference in what `this` refers to" is a lot easier in my mind than a big see of `foo`'s and `bar`'s.) Or maybe an example involving a bank and deposits and withdrawals. It seems like a minor nitpick but it's things like these that I really use to judge whether a book is actually of good quality. I mean sure, any half-decent programming book exposes you the concepts that make you a better developer, but the good ones do so in a manner that makes it easy to understand.
书对语言核心概念挖得深,面试中很多人确实不懂。
强烈推荐这套书,它是少数真正深入 JavaScript 语言的书之一。我经常面试 JavaScript 岗位候选人,令人惊讶的是很少有人真正理解 this、闭包、原型等机制,所以系列标题虽然傲慢,但并没有说错。
kabes查看英文原文
I can highly recommend these books. They're one of the only books that do a real deep-dive into the language. I often have to interview people for javascript jobs. It's astonishing how few of them actually get how the `this` keyword, closures, prototypes etc work. So the title of the series may be arrogant, but not wrong.
质疑系列标题和语气,认为不够友好。
我不太理解“你不知道 X”这种傲慢的标题。也许我知道,也许我不知道;如果我已经知道,那我会因为误以为自己不知道而浪费时间;如果我不知道,这种居高临下的语气也不激励我去学。
franciscop查看英文原文
I really don't get the arrogant "You don't know X". Maybe I know it, maybe I don't know it. But if I know it already, then I am wasting my time since I think I don't know it (not really). However if I don't know it, then the condescending tone doesn't really motivate me to want to know (while I love to learn about Javascript).
特别推荐其中《作用域与闭包》分册。
《作用域与闭包》这一册对我理解 JavaScript 中一些难以捉摸的概念非常有帮助,推荐。
acdanger查看英文原文
Scope and Closures was very instrumental for me in capturing some JavaScript's slippery concepts. Recommended.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选