博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js用解构来定义变量并赋值
阅读量:7261 次
发布时间:2019-06-29

本文共 1717 字,大约阅读时间需要 5 分钟。

解构数组

var [a,b]=[1,2];

a //1

b //2

-------------

var [a,b]=[1,2,3,4];

a //1

b //2

----------------

var [a,,b]=[1,2,3,4];

a //1

b //3

-----------------

var a,b;

[a=3,b=2]=[1]; //默认值

a //1

b //2

-----------------

var [a, ...b] = [1,2,3,4]

a //1

b // [2,3,4]

----------------

应用

function parseProtocol(url) {   var parsedURL = /^(\w+)\:\/\/([^\/]+)\/(.*)$/.exec(url);  if (!parsedURL) {    return false;  }  console.log(parsedURL); // ["https://test/page", "https", "test", "page"]  var [, protocol, fullhost, fullpath] = parsedURL;  return protocol;}console.log(parseProtocol('https://test/page')); // "https"

  

 

解构对象

var o = {p: 42, q: true};var {p: foo, q: bar} = o;// 将o的p值赋给变量foo,将o的q值赋值给变量bar。var {p: foo, q: bar} = o;等价于({p: foo, q: bar} = o);let {t=4, m=true} = {t:5};//这样就定义了两个变量t和m,并各自带有默认值。let {t:val1=4, m: val2=true} = {t:5};

  

给函数的参数赋默认值:
function render({position ={x:0,y:0},color="red",display=true}){console.log(position,color,display);}render({position:{x:20,y:30}, color:"green"});
解构数组内的对象:
const props = [  { id: 1, name: 'Fizz'},  { id: 2, name: 'Buzz'},  { id: 3, name: 'FizzBuzz'}];const [,, { name }] = props;console.log(name); // "FizzBuzz"

  

解构结构复杂的对象:
const metadata = {  title: 'Scratchpad',  translations: [    {      locale: 'de',      localization_tags: [],      last_edit: '2014-04-14T08:43:37',      url: '/de/docs/Tools/Scratchpad',      title: 'JavaScript-Umgebung'    }  ],  url: '/en-US/docs/Tools/Scratchpad'};let {  title: englishTitle, // rename  translations: [    {       title: localeTitle, // rename    },  ],} = metadata;console.log(englishTitle); // "Scratchpad"console.log(localeTitle);  // "JavaScript-Umgebung"

  

 refer: 

转载于:https://www.cnblogs.com/Gift/p/10682413.html

你可能感兴趣的文章
Okhttp源码阅读(二)——一个缓存是怎么触发的
查看>>
Vuecli3开发环境搭建
查看>>
Go语言学习(1) - 简介
查看>>
【刘文彬】EOS商业落地利器:多签名操作与应用
查看>>
Nginx转发TCP实现负载均衡
查看>>
使用nodejs搭建HTTPS server
查看>>
开发交易所平台系统撮合周期费用
查看>>
golang设计模式之工厂方法模式
查看>>
git 基本使用指令
查看>>
nvm 怎么安装 ?
查看>>
Mac环境下本地svn的使用
查看>>
记一次 VUE 项目优化实践
查看>>
网易云缓存歌曲flac格式如何转化为mp3格式?
查看>>
runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答
查看>>
JS实例学习笔记——w3cschool+菜鸟教程
查看>>
ubuntu下Nginx详解及点播直播服务器搭建
查看>>
Webpack DLL 配置教程
查看>>
构造函数创建私有变量(防继承)
查看>>
Why Kubernetes ,我所理解的docker与k8s
查看>>
Transformer-XL: Unleashing the Potential of Attention Models
查看>>