JS 语法糖

224 阅读2分钟

前言

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。

1、字面量

      var str = "welcome"; //字符串字面量
      var array = [1, 2, 3, 4, 5]; //数组字面量
      var fn = function () { //函数字面量
            console.log("welcome");
       };

2、箭头函数

    let fun = function(params){}
       //可以缩写成如下 箭头函数会改变this的指向
    let fun= params =>{}
        //当参数有两个及以上时,如下:
    let fun= (params1,params2,,,)=>{}

3、数组解构

 var arr = ['a', 'b', 'c'];
        var [ a, b ] = arr
        console.log(a) // a
        // //数组解构也允许你跳过你不想用到的值,在对应地方留白即可,举例如下
        let [a, , b] = [1, 2, 3];
        console.log(a, b); //1 3

4、函数默认参数

        function getResponse(a, b = 0) {
            //常用于请求数据时,设置默认值 
        }

5、拓展运算符

            let arr1=[1,2,3];
            let arr2=[4,5,6];
            let arr3=[...arr1,...arr2];
            console.log(arr3);//[1, 2, 3, 4, 5, 6]

6、模板字符串

        let a = '模板字符串'
        let blog = `id是:${a}` // id是:模板字符串
        console.log(blog);
        
//利用反引号实现多行字符串(虽然回车换行也是同一个字符串)
let poem = `A Pledge
	By heaven,
	I shall love you
	To the end of time!
	Till mountains crumble,
	Streams run dry,
	Thunder rumbles in winter,
	Snow falls in summer,
	And the earth mingles with the sky —
	Not till then will I cease to love you!`

7、ES6中的类

class helloJs{
// 构造方法
  constructor(options = {}, data = []) { 
        this.name = '奋斗中的编程菜鸟'
        this.data = data
        this.options = options
    }
 // 成员方法
    getName() { 
        return this.name
    }
}

8、模块化开发

let formatTime = date=>{
	....
}
let endTime = date=>{
	....
}

module.exports = {
   formatTime,
   endTime,
}
//可以用import {名称} from '模块' 
//然后再同级目录创建一个js文件 引入 util.js
//import {endTime} from 'util'
//或者全部引入
//import util from 'util'