Today I Learnt

发表于更新于阅读时长 3 分钟

先开一个再说

无用的, 反工程化的和有害的知识

2019.01.21 js 中, interface implements 和 package 都是保留字

2019.01.26 es6 中的 WeakSet 可以通过在原 object 上附加属性的方法被 polyfill 到 es5

2019.02.03 js 中, parseInt("Infinity", 19) === 18

2019.02.20 在当代浏览器中, 如下代码就足够完成重设浏览器样式的任务

body,
body * {
  all: initial;
}

2019.03.02 css 新提供的 font-display 属性可以配置字体回落行为, 有 auto block swap fallback optional 五个可选值

2019.03.05 tsc 用的是 ts 团队自己写的 parser 来读 tsconfig.json, 基本上是 JSON with comment

2019.03.09 js 中 sort 会把 undefined 排到数组的最后(不要在数组里塞 undefined!)

2019.03.10 ES2019 不要求强制在 catch 捕获 error, ts 能正确 polyfill 这一特性

2019.03.19 可以通过改变 box-shadow 的 spread-radius 来实现从中心向外扩散的效果

2019.03.31 textContent 和 innerText 的区别在于 textContent 只显示会显示在屏幕上的内容. 无论改写它们中的哪一个, 都会生成一个新的 Text 节点

2019.04.03 JS 中的默认参数可以引用在之前的参数的值

2019.04.04 webpack 中资源文件使用[name].[ext]?[hash]的原因是让下载后的文件名中没有 hash

2019.04.05 base tag 的用途是指定文档里相对 url 的基础 url, 也可以指定超链接或是表单的导航方式

2019.04.06 JS 中可以用 Object(value) === value 判断一个值是否是对象

2019.04.07 可以把 webpack html loader 的 interpolate 选项设置为 true, 这样就可以在 html 中导入其他的 html

2019.04.11 可以 script 的 nomodule 属性实现按需装载 polyfill(尽管这么做的正确性堪忧)

2019.04.15 在严格模式下, eval 不能修改词法作用域

2019.04.16 JS 中 Function.prototype 可以被用作空函数使用, 尽管性能很差

2019.04.18 ES5 及之前版本可以通过 with 或是 try catch 来创建块状作用域

2019.04.19 决定 this 默认值的并不是调用者是否处于严格模式, 而是函数定义时是否处于严格模式

2019.04.20 JS 中, arguments 也可以 for ... of

2019.04.25 JS 中数字转字符串最快的方法是加上一个空字符串和(ES6)模板字符串, 反过来最快的是字符串乘 1

2019.04.26 JS 中可以在非循环语句块中使用 label, 此时可以在语句块内使用 break

2019.05.03 tsc 可以正确转译 ES6 的新八进制字面量语法, 会被转译成十进制

2019.06.02 AngularJS 和 Angular 最大的区别之一是 AngularJS 并没有使用 zone.js 来代理所有异步, 而是不同的异步分别处理, 因此多处需要手动调用脏检查

2019.06.17 Webpack 会对 DefinePlugin 定义的变量做出编译期转换并对其所在的语句求值

2019.07.11 Java 中可以使用 try with resource 来实现 RAII

2019.07.18 React.creatElement 返回的对象都包含一个$$type 键, 其值为一个 Symbol. 这是为了防止对抗 XSS, 这样如果服务端出来的某个值本应是字符串却被传了个对象, 它就不会被渲染出来.

2019.07.22 Vue 中的 scoped slot 和 React 的 render props 功能和用法都很接近, 但是 Vue 的语法更加整洁

2019.08.15 zone 是来源于 dart 的 feature

2019.08.22 Symbol.for 和 Symbol 的区别是前者会在全局创建一个 Symbol, 如果此后再传入相同的字符串, 则返回那个 Symbol

2019.09.16 JVM 中使用 Class 作为 Vtable

2019.09.22 DocumentFragment 即使在现代也能提升一些性能

2019.11.01 Redux 因为单一 store, 读写分离带来的好处有很多, 比如方便的序列化, time travel 等

2019.11.23 GADT 指的是有范型参数且在不同参数时返回不同类型的 ADT

2019.12.09 Element#getAttribute 只会返回字符串或是 null

2019.12.28 JS 里非严格模式下, 函数参数名可以重复

© 2016 - 2023Austaras Devas