学习js/

定义变量

es6 6中声明变量:var function let const import class

        let定义局部变量,作用范围只在当前作用域,不可以重复定义

        var 定义的变量存在变量提升,编译会把所有var变量提到头部执行,所以这个代码不会报错

console.log(a);//输出undefined
var a=1;

       // es6中let定义的变量,必须先声明后使用,在es6中执行以上代码会报错

        const定义的只读常量,值不可以改变,只声明不赋值会报错

使用const定义简单数据类型的时候(数字、字符串、布尔)可以保证值不变,定义复杂对象的时候,只能保证数据指向地址不改变,但是对象属性可以改变!

解构赋值

          基本用法

let a=1;
let b=2;
let c=3;
//es6中可以写成
let [a,b,c]=[1,2,3];

解构赋值可以不完整,可以有缺失表达式,只会把对应上的部分正确赋值,如果等号左边的变量名多,右边的值少的时候会赋为undefined;

let [a,b]=[1,2,3];//a=1 b=2
let [a,b,c]=[1,2];//a=1 b=2 c=undefined

        对象解构赋值

let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
foo // "aaa"
bar // "bbb"

变量名对应才可以正确赋值,对应不上赋值undefined。

 复杂赋值例子:

1.
const node = {
  loc: {
    start: {
      line: 1,
      column: 5
    }
  }
};

let { loc, loc: { start }, loc: { start: { line }} } = node;
line // 1
loc  // Object {start: Object}
start // Object {line: 1, column: 5}


2.
let obj = {};
let arr = [];

({ foo: obj.prop, bar: arr[0] } = { foo: 123, bar: true });

obj // {prop:123}
arr // [true]

  解构赋值不允许给已声明变量赋值,如果需要赋值必须加上();     

 let x;
({x}={x:1});

         模板字符串

 es6中使用``标识,字符串变量可以写为${var}


$('#result').append(
  'There are <b>' + basket.count + '</b> ' +
  'items in your basket, ' +
  '<em>' + basket.onSale +
  '</em> are on sale!'
);

//使用模板字符串之后就不用拼接烦人的引号了!!
$('#result').append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值