在Javascript中多个变量声明期间不熟悉使用方括号

时间:2017-10-20 03:05:44

标签: javascript string syntax

我是Javascript的初学者并遇到了这种语法用法(简化):

var testString ="firstName, lastName";
var [a,b] = testString.split(", ");

我的问题是什么类型的变量a& b然后变成第2行? 我的简单调查似乎表明了一个& b被分配相应的字符串值。

但是引擎盖下发生了什么?为什么我们在这里使用方括号[]?不是一个返回的数组&在.split()的过程中创建?否则,在后台创建了哪些对象?
了解[a,b]的这种声明风格的链接也会受到欢迎。

2 个答案:

答案 0 :(得分:2)

  

但是引擎盖下发生了什么?

// You declare a string variable
var testString = "firstName, lastName";

// Split method help you to divide the string value according with the
//indicated separator, in this examle the comma
var [a,b] = testString.split(", ");
  

解构赋值语法是一个JavaScript表达式   可以从数组或属性中解压缩值   对象,成为不同的变量。

由于拆分函数返回一个数组,var [a,b] = array 您将按照索引顺序分配值,例如:

console.log(a); // 'firstName'
console.log(b); // 'lastName'

它们是简单的字符串变量。您可能想要访问以下链接:

Destructuring asignation

split function

更多资源:既然你提到你是从JS开始的,我建议你阅读这篇文章中提到的书post

答案 1 :(得分:1)

这是destructuring assignment.它类似于许多函数式语言中的模式匹配。