Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ES 6关于常量的新语法_Javascript_Angularjs_Ecmascript 6 - Fatal编程技术网

Javascript ES 6关于常量的新语法

Javascript ES 6关于常量的新语法,javascript,angularjs,ecmascript-6,Javascript,Angularjs,Ecmascript 6,我是ES6新手,我知道一些事情,但对以下事情仍然有点困惑,有人能给我提供一些关于这些新语法的细节吗: getControlBindings((control, context) => { control, context, setAnswer, ajaxAction }) 以下只是代码的示例片段: 1. const { action, stage, conditions } = this.control.ajaxInfo; 到底叫什么?这条语句到底能做

我是ES6新手,我知道一些事情,但对以下事情仍然有点困惑,有人能给我提供一些关于这些新语法的细节吗:

getControlBindings((control, context) => {
    control,
    context,
    setAnswer,
    ajaxAction
})
以下只是代码的示例片段:

1. const { action, stage, conditions } = this.control.ajaxInfo; 
到底叫什么?这条语句到底能做什么?我在控制台中试过,它执行时没有任何错误。但当我试图跟踪这3个常量时,它显示为未定义

2. const getControlBindings = (control, context) => ({
    control,
    context,
    setAnswer,
    ajaxAction
  });
它是一个带有一些=和=>符号的函数,那么这类新语法呢:

getControlBindings((control, context) => {
    control,
    context,
    setAnswer,
    ajaxAction
})
那么这两种功能之间的主要区别是什么?请帮助我理解这一点。

1)这意味着您的
this.control.ajaxInfo
对象必须包含具有这些名称的属性,这些属性将被分解为左侧的变量。 欲了解更多信息,请参阅

var控件={
行动:"a",,
阶段:"b",,
条件:“c”,
}
const{action,stage,conditions}=控件;
控制台日志(操作)
1)这意味着您的
this.control.ajaxInfo
对象必须包含具有这些名称的属性,这些属性将被分解为左侧的变量。 欲了解更多信息,请参阅

var控件={
行动:"a",,
阶段:"b",,
条件:“c”,
}
const{action,stage,conditions}=控件;
控制台日志(操作)找到了一个适合你的方法。希望能有帮助

上再看一次,发现对你有好处。希望能有帮助

再来一杯

  • 是ES2016/ES6中的对象破坏示例。在本例中,3个单独的常量,其参数值与等号左侧提到的同名参数值相同。i、 行动、阶段、条件

    var controls = {
        action: 'GET',
        stage: 'Test'
    }
    
    const { action, stage} = controls;
    
    console.log(action) // Outputs GET
    
  • 是箭头函数的示例。在第一种情况下,我们创建一个箭头函数getControlsBinding,它接受控件和上下文参数,并返回一个带有

    {control,
     context,
     setAnswer,
     ajaxAction }
    
  • 另一个定义类似于将arrow函数作为参数传递给getControlsBinding函数。注意,这里有一个轻微的语法问题,您需要包装

        {control,
         context,
         setAnswer,
         ajaxAction }
    
    用括号括起来,如下所示

        ({control,
         context,
         setAnswer,
         ajaxAction })
    
    以下是一些从ES2015/ES6开始的好材料

    箭头功能:

    对象销毁:

  • 是ES2016/ES6中的对象破坏示例。在本例中,3个单独的常量,其参数值与等号左侧提到的同名参数值相同。i、 行动、阶段、条件

    var controls = {
        action: 'GET',
        stage: 'Test'
    }
    
    const { action, stage} = controls;
    
    console.log(action) // Outputs GET
    
  • 是箭头函数的示例。在第一种情况下,我们创建一个箭头函数getControlsBinding,它接受控件和上下文参数,并返回一个带有

    {control,
     context,
     setAnswer,
     ajaxAction }
    
  • 另一个定义类似于将arrow函数作为参数传递给getControlsBinding函数。注意,这里有一个轻微的语法问题,您需要包装

        {control,
         context,
         setAnswer,
         ajaxAction }
    
    用括号括起来,如下所示

        ({control,
         context,
         setAnswer,
         ajaxAction })
    
    以下是一些从ES2015/ES6开始的好材料

    箭头功能:


    对象销毁:

    ,谢谢@Suren Srapyan,哇,解释得很好,意思是:1。这个语法从一个对象创建3个常量,对吗?2.此语法创建常量对象。1)是,2)否,它不创建常量对象,但它创建常量
    getControlBindings
    函数,因此它不能再引用其他函数。它是附加到当前函数的。返回的对象不会是cont。我有点困惑,现在我得到了它。感谢@Suren Srapyan.2)它们在Javascript中没有被称为lambda。它们是箭头函数。谢谢@Suren Srapyan,哇,很好的解释,它的意思是:1。这个语法从一个对象创建3个常量,对吗?2.此语法创建常量对象。1)是,2)否,它不创建常量对象,但它创建常量
    getControlBindings
    函数,因此它不能再引用其他函数。它是附加到当前函数的。返回的对象不会是cont。我有点困惑,现在我得到了它。感谢@Suren Srapyan.2)它们在Javascript中没有被称为lambda。它们是箭头函数。