ES6初識 let const 兼容問題


ES6 是ECMAScript就是JavaScript中的語法規范!定義基礎的語法、變量、數據類型
let
  • 不能對同一變量重復聲明定義
  • lit聲明變量不會變量提升
  • 定義的變量塊級作用域。一個花括號一個塊。
  • 函數內不能用let重新聲明函數的參數
 
const
  • const定義常量不可修改
  • 只在塊級作用域起作用
  • const 不存在變量提升
  • 不可重復聲明同一個量
  • 聲明后必要賦值
  • 常量是對象的時候,可以改變里面的值,不可以改變對象
 
快速讓瀏覽器兼容ES6的方法
  • 利用nodejs進行bable導入
  • 啟動命令提示符窗口並且輸入:npm install babel-core@5,然后回車
  • 使用,然后用ie9打開測試
 
解構賦值
ES6允許按照一定模式,從數組和對象中提取值,對變量進行賦值,這被稱為解構(Destructuring)。
  • 數組的解構賦值
    • 可全部賦值,也可賦值部分
      • var [a, b, c] = [1, 2, 3];
      • console.log(a, b, c);  //1 2 3
    • 允許嵌套
      •  var [a, b, [c, d], e] = [1, 2, [3], 4, 5];
      •  console.log(a, b, c, d, e)  //1 2 3 undefined 4
    • 允許有默認值,后面賦值回將其覆蓋
      • var [a, b, [c, d], e = 1] = [1, 2, [3, 4]];
      •   console.log(a, b, c, d, e);     //1 2 3 4 1
      •   var [a, b, [c, d], e = 1] = [1, 2, [3, 4], 5];
      •  console.log(a, b, c, d, e);      //1 2 3 4 5
  • 解構賦值(對象)
    • 等號左邊是變量名,等號右邊不能全是變量名
    •  如果有嵌套格式,需要等號兩側格式一致
    • 等號右邊可以有初始值,想要拿到初始值就不要賦新值
    • var { a,  b, c } = { 'a': {'name': 'zhangsan',  'age': '18' }, 'b': 2, 'c': 3}
    • console.log(a, b, c);      // {name: "zhangsan", age: "18"} 2 3
  • 字符串解構賦值
    • var [a, b, c, d, e, f, g, h] = "不想搬宿舍必須我";
    •     console.log(a, b, c, d, e);   //不 想 搬 宿 舍
    •     console.log(f, g, c)  //必 須 搬
    •     console.log(h, a, b)  //我 不 想
  • 解構賦值的用途
    • 交換變量的值
      • var x = 10;
      •     var y = 20;
      •     [x, y] = [y, x];
      •     console.log(x, y);   //20 10
    • 提取函數返回的多個值
      • function fn1() { 
      • return { 'name': '張三', 'age': '22' }
      •     }
      •     var {  name,   age } = fn1();
      •     console.log(name, age);     //張三 22
    • 定義函數參數
      • function fn2({ a, b, c }) {
      •         console.log('姓名:' + a);
      •         console.log('身高:' + b);
      •         console.log('體重:' + c);  }
      •     fn2({ a: "張三",  b: "177cm",   c: "55kg",  d: '學生'  });
      • 姓名:張三
      •  身高:177cm
      • 體重:55kg
    • 函數參數的默認值
      • function fn3({  name = "馬俏橋" }) { console.log(name)}  fn3()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM