Skip to content

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

@deligent-ant

Description

@deligent-ant

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

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 )**绑定。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions