【前端学习】—箭头函数和普通函数的区别(十四)

【前端学习】---箭头函数和普通函数的区别(十四)

一、箭头函数和普通函数的区别

bash 复制代码
 const obj={
    fullName:'zz',
    sayName(){
        console.log(`this.fullName`,this.fullName)//zz
    }
 }

 obj.sayName();
bash 复制代码
 const obj={
    fullName:'zz',
    sayName:()=>{
        console.log(`this.fullName`,this.fullName)//undefined
    }
 }

 obj.sayName();
bash 复制代码
function sayName(){
    console.log(`this.fullName`,this.fullName)
}

const obj={
    fullName:'freemen'
}
sayName.call(obj);//this.fullName freemen
bash 复制代码
const sayName=(...args)=>{
    console.log(`args`,args)
}
sayName('a','b');//['a', 'b']
bash 复制代码
function Person(){
  this.name='cai';
  const target=new.target;
  console.log(`target`,target)
}
const obj=new Person;
console.log(`obj`,obj);
bash 复制代码
//箭头函数不允许使用new.target

const Person=()=>{
  this.name='cai';
  const target=new.target;
  console.log(`target`,target)
}
const obj=new Person;
console.log(`obj`,obj);//Uncaught SyntaxError: new.target expression is not allowed here

二、ES6中哪个方法可以实现数组去重

es6中实现数组去重的方法是Array.from配合new Set

bash 复制代码
const array=[1,2,3,4,2,1,2];
//const result=new Set(array);//输出的结果是对象我们使用Array.from方法转化为数组

const result=Array.from(new Set(array));
console.log(result);//[ 1, 2, 3, 4 ]
相关推荐
早睡早起身体好12310 小时前
为什么 Network 中会出现两个同名请求?——CORS 预检请求学习笔记
网络·笔记·学习·网络安全
菩提树下的打坐10 小时前
测试左移的更深一层:用 DDD 战术设计反推测试边界
学习
用户21816970493010 小时前
Flutter(四)Dart语法 空安全 运算符 流程控制
前端
许彰午10 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
用户693717500138410 小时前
AI时代,程序员该往哪走?
前端·后端
ttwuai10 小时前
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住
前端·golang
易筋紫容10 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
casual~11 小时前
模逆元计算方法详解:扩展欧几里得算法与费马小定理
学习·算法·逆元
半句唐诗11 小时前
我是如何通过 Access Token 成功发布第一个 npm 包的
前端·npm·node.js
@Mike@11 小时前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习