intern-study
intern-study copied to clipboard
记录平时看的前端小小知识点
记录平时看的前端小小知识点
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 )**绑定。