老师你能不能看一下我这样理解代表正不正确?

老师你能不能看一下我这样理解代表正不正确?

const set = (name, value, { maxAge, domain, path, secure } = {}) => {

//{ maxAge, domain, path, secure } = {}

//1.这里是对象属性的简介表示法默认值是undefined和对象的结构赋值相当于

//{maxAge: maxAge=undefined, domain: domain=undefined, path: path=undefined, secure: secure=undefined} ={在这里是调用方法时传入的对象}


  let cookieText = `${encodeURIComponent(name)}=${encodeURIComponent(value)}`;


  if (typeof maxAge === 'number') {

    cookieText += `; max-age=${maxAge}`;

//2.是不是可以把max-age=${maxAge}写成 max-age=[maxAge],因为这里maxage是一个变量

  }


  if (domain) {

    cookieText += `; domain=${domain}`;

  }


  if (path) {

    cookieText += `; path=${path}`;

  }


  if (secure) {

    cookieText += `; secure`;

  }


  document.cookie = cookieText;


  // document.cookie='username=alex; max-age=5; domain='

};



set('sex', 'male', {

      maxAge: 30 * 24 * 3600

//3.const set = ('sex', 'male', { maxAge: maxAge=undefined, domain: domain=undefined, path: path=undefined, secure: secure=undefined} = {maxAge: 30 * 24 * 3600}) 

​});



正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,区别如下:

1、模板字符串中只能使用${}形式注入变量的值,这是固定的知识点,需要记忆。

2、中括号语法主要用在通过变量设置或获取对象属性。在前面的课程中也有详细的讲解,https://class.imooc.com/lesson/1634#mid=37354  可以回顾下课程,增加理解与记忆。

​祝学习愉快~

好帮手慕慕子 2021-04-22 10:54:43

同学你好,对于你的问题解答如下:

1、第一点理解是对的。

2、第二点理解不对,因为${maxAge}这种写法是模板字符串中插入变量的固定语法格式,不可以换成[maxAge]

祝学习愉快~

  • 提问者 weixin_慕丝2377090 #1

    老师能不能讲解有些注入和中括号语法的区别啊?

    按老师的描述他们都是获取可以得到值的变量啊。

    2021-04-23 17:34:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师