Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
302 views
in Technique[技术] by (71.8m points)

What does the syntax x:y mean in JavaScript?

I am following a course on blockchain which has the following piece of code. What does " index:this.chain.length+1 " mean? Is index a variable in the object newBlock? Or is it a key value pair? If it is a variable, why don't we simply use index=this.chain.length+1? Also what is the type of the object newBlock?

function Blockchain()
{
  this.chain=[];
  this.newTranscations=[];
}

Blockchain.prototype.createNeBlock = function(nonce,previousBlockHash,hash)
{
  const newBlock ={
    index:this.chain.length+1,
    timestamp:Date.now(),
    // all of the transactions in this block will be the transactions that waiting to be put in a block
    transactions:this.newTranscations,
    // nonce is hust a number giving proof of the transaction
    nonce:nonce,
    hash:hash,
    previousBlockHash: previousBlockHash
  }
  // As we move all the pending transactions to the new block, we clear this array
  this.newTranscations=[];
  this.chain.push(newBlock);
  return newBlock; 
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
var Box = {
"playdoh":{"playdoh":["none", "some", "none", "none", "some"]}
};

Box of playdoh upon playdoh, you're getting into the study of Objects/Arrays/Maps.

To call the above out, it'd be

console.log(Box["playdoh"]["playdoh"][0]);
= none

console.log(Box["playdoh"]["playdoh"][4]);
= some

console.log(Box["playdoh"]["playdoh"][5]);
= null (undefined)

is the same as

console.log(Box.playdoh.playdoh[0]);
= none

console.log(Box.playdoh.playdoh[4]);
= some

console.log(Box.playdoh.playdoh[5]);
= null (undefined)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...