byte-fe / intern-study

实习生互助学习
MIT License
33 stars 6 forks source link

记录平时看的前端小小知识点 #25

Open deligent-ant opened 5 years ago

deligent-ant commented 5 years ago

记录平时看的前端小小知识点

Object.assign([1, 2, 3], [4, 5])
// [4, 5, 3]   数组覆盖
[].every(item=>item>2)//true . 空数组直接true
super关键字表示原型对象时,只能用在对象的方法之中,用在其他地方都会报错。
pm2 start --name=cms npm -- run dev

对象编辑

  return {
    guid: id,
    ...(name && {name}),
    ...(age && {age})
  }
foo::bar(...arguments);
// 等同于
bar.apply(foo, arguments);
复制代码
如果双冒号左边为空,右边是一个对象的方法,则等于将该方法绑定在该对象上面。
const baz = obj?.foo?.bar?.baz; // 传导符 babel支持
// 没有用管道操作符
double(increment(double(5))); // 22

// 用上管道操作符之后
5 |> double |> increment |> double; // 22
function isClass(func) {
  return typeof func === 'function' 
    && /^class\s/.test(Function.prototype.toString.call(func));
}
(() => {}).prototype // undefined
(function() {}).prototype // {constructor: f}
new function Fun(){}如果一个函数的返回值 不是 一个对象,它会被 new 完全忽略。如果你返回了一个字符串或数字,就好像完全没有 return 一样。
function Person() {}

console.log(Person.prototype); // 🤪 不是 Person 的原型
console.log(Person.__proto__); // 😳 Person 的原型
“原型链”更像是 __proto__.__proto__.__proto__ 而不是 prototype.prototype.prototype
Array.from(document.querySelectorAll('div')) === $$('div')

在 ES6 中,词法 环境和 变量 环境的区别在于前者用于存储函数声明和变量( let 和 const )绑定,而后者仅用于存储变量( var )绑定。

在 ES6 中,词法 环境和 变量 环境的区别在于前者用于存储函数声明和变量( let 和 const )绑定,而后者仅用于存储变量( var )绑定。