es6新特性

落日映苍穹つ 2022-01-25 15:30 462阅读 0赞

es6语法

es6语法用起来是十分方便的,但是有些浏览器还是不支持,但是做大型项目中基本上要用到转码器(babel转码器),可以把es6语法转为es5直接使用。

Tags:javascript

1.变量声明 var => let,const

  1. 变量提升,let申明的变量不在具有变量提升功能
  2. 块级作用域,let申明的变量只能在相应块起作用
  3. 申明常量cosnt

    // let username = ‘小明’;
    // var age = 23;
    // console.log(‘username :’+ username + ‘ age :’+age);

    // console.log(username); // undefined
    // var username = ‘小明’;
    // if(4>3){
    // let username = ‘小明’;
    // }
    // console.log(username); //username is not defined

    const k = 100; //常量值不能改变
    k = 101;
    console.log(k);

2.箭头函数

  1. // es5里函数实现方式两种: 1.定义函数 2.函数申明
  2. /** * 函数申明 */
  3. function max1(){
  4. var a = 10;
  5. var b = 20;
  6. if(a > b){
  7. return a;
  8. }else{
  9. return b;
  10. }
  11. }
  12. /** * 函数定义 */
  13. var max2 = function(a,b){
  14. if (a > b) {
  15. return a;
  16. } else {
  17. return b;
  18. }
  19. }
  20. // console.log(max2(10,21));
  21. /** * es6中函数实现方式 箭头函数 * (参数) => {函数实现} * 特写:只有一个参数 括号可以省略, 函数体只有一条语句,大括号可以省略 * 参数 => 语句1 **/
  22. var max11 = () => {
  23. var a = 10;
  24. var b = 30;
  25. if (a > b) {
  26. return a;
  27. } else {
  28. return b;
  29. }
  30. }
  31. // console.log(max11());
  32. var max12 = (a,b) => {
  33. if (a > b) {
  34. return a;
  35. } else {
  36. return b;
  37. }
  38. }
  39. // console.log(max12(10,23));
  40. // var isLeapYear = (year)=>{
  41. // console.log('是闰年');
  42. // }
  43. var isLeapYear = year => console.log('不是闰年');
  44. isLeapYear();

3.模板字符串

  1. // es5
  2. var a = 20;
  3. var b = 30;
  4. var string = a + "+" + b + "=" + (a + b);
  5. // console.log(string); // 20 + 30 = 50
  6. // es6 模板字符串写法 ejs '<%=a%>'
  7. let a1 = 20;
  8. let b1 = 30;
  9. let string1 = `${ a1}+${ b1}=${ a1+b1}`;
  10. console.log(string1); // 20 + 30 = 50
  11. let item = '<html>'+
  12. '<head>'+
  13. '<title>标题</title>'+
  14. '</head>'+
  15. '<body>'+
  16. '</body>'
  17. '</html>';
  18. let item1 = `<html> <head> <titel>标题2</titel> </head> <body> <h1>一级标题</h1> </body> </html>`;
  19. console.log(item1);

4.解析结构

  1. const Person = {
  2. username:'小明',
  3. age:22,
  4. sex:'男'
  5. }
  6. // let name = Person.username;
  7. // let age = Person.age;
  8. // let sex = Person.sex;
  9. // console.log(`name=${name} sex=${sex} age=${age}`);
  10. // es6
  11. let { username,age,sex} = Person;
  12. console.log(`username=${ username} sex=${ sex} age=${ age}`);
  13. const scores = [90,89,99,87];
  14. var score1 = scores[0];
  15. var score2 = scores[1];
  16. var score3 = scores[2];
  17. var score4 = scores[3];
  18. console.log(`score1=${ score1} score2=${ score2} score3=${ score3}`);
  19. const [s1,s2,s3] = scores;
  20. console.log(`s1=${ s1} s1=${ s1} s3=${ s3}`);

5.函数默认值

  1. // es5
  2. function add(x, y) {
  3. // if (typeof(x) === 'undefined') {
  4. // x = 10;
  5. // }
  6. // if (typeof (y) === 'undefined') {
  7. // y = 20;
  8. // }
  9. var a = x || 10;
  10. var b = y || 20;
  11. return a + b;
  12. }
  13. console.log(add()); // 30 NaN: 是Number类型,表示'不是数字'
  14. // es6
  15. function add2(x = 20, y = 30) {
  16. return x + y;
  17. }
  18. const add3 = (x=20,y=40) => x+y;
  19. console.log(add3());

6.展开运算符

  1. const arr1 = [1, 2, 3];
  2. const arr2 = [...arr1, 10, 20, 30];
  3. console.log(arr2); // [ 1, 2, 3, 10, 20, 30 ]
  4. const obj1 = {
  5. a: 1,
  6. b: 2,
  7. c: 3
  8. }
  9. const obj2 = {
  10. ...obj1,
  11. d: 4,
  12. e: 5,
  13. f: 6
  14. }
  15. console.log(obj2); //{ a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }

7.字面量与class

  1. const name = 'Jane12';
  2. const age = 20;
  3. // es5
  4. var person = {
  5. name: name,
  6. age: age
  7. };
  8. // es6
  9. var person2 = {
  10. name,
  11. age
  12. }
  13. console.log(person2);

发表评论

表情:
评论列表 (有 0 条评论,462人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ES6特性

    ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下⼀个版本标准,2015.06 发版。ES6 主要是为了解决 ES5 的先天不⾜,⽐如 Jav...

    相关 es6特性

    1.let && const •都是块级作用域 •不能重复定义 •避免了变量提升 ① let命令也用于声明对象,但是作用域为局部。 ![在这里插入图片描述][

    相关 es6特性

    es6语法 > es6语法用起来是十分方便的,但是有些浏览器还是不支持,但是做大型项目中基本上要用到转码器(babel转码器),可以把es6语法转为es5直接使用。 T

    相关 ES6特性

    1.变量声明let和const 在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如:

    相关 ES6特性

    1.声明变量的关键字:const 和 let JavaScript ES6中引入了另外两个声明变量的关键字:const和let。在ES6中,我们将很少能看到var了。 co