js中的简写语法

news/2024/11/25 15:49:54/

1、简写的闭包自执行函数(Immediately Invoked Function Expression (IIFE))

使用括号将函数定义包裹起来,再在末尾加上另一对括号,即可创建一个自执行函数。例如:

(() => {console.log("Hello, world!");
})();

 

2、简写的对象方法定义(Method Definition)

使用方法名和箭头函数的简写方式,可以更简洁地定义对象的方法。例如:

const obj = {x: 1,add(y) {return this.x + y;},double: () => this.x * 2,
};
console.log(obj.add(2)); // 3
console.log(obj.double()); // NaN

 

注意,箭头函数中的 this 指向的是定义时的上下文,而不是调用时的上下文。

3、简写的类定义(Class Definition)

使用 class 和 constructor 的简写方式,可以更简洁地定义类。例如:

class Person {constructor(name, age) {this.name = name;this.age = age;}sayHello() {console.log(`Hello, my name is ${this.name}, and I am ${this.age} years old.`);}
}
const alice = new Person("Alice", 20);
alice.sayHello(); // 'Hello, my name is Alice, and I am 20 years old.'

 

4、简写的模块导出(Module Export)

使用 export 和 default 的简写方式,可以更简洁地导出模块。例如:

// math.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
export default {multiply: (a, b) => a * b,divide: (a, b) => a / b,
};// main.js
import { add, subtract } from "./math.js";
import math from "./math.js";
console.log(add(1, 2)); // 3
console.log(subtract(3, 2)); // 1
console.log(math.multiply(2, 3)); // 6
console.log(math.divide(6, 2)); // 3

 

5、解构赋值(Destructuring Assignment)

使用花括号{}或方括号[]可以将对象或数组中的值解构(拆解)到变量中。例如:

const obj = { x: 1, y: 2 };
const { x, y } = obj;
console.log(x, y); // 1, 2const arr = [1, 2, 3];
const [a, b] = arr;
console.log(a, b); // 1, 2

6、对象字面量简写

可以使用对象字面量的简写形式来定义对象,例如:

const name = "Alice";
const age = 30;// 传统写法
const user = {name: name,age: age,
};// 简写写法
const user = { name, age };

 

7、模板字符串简写

可以使用模板字符串的简写形式来拼接字符串,例如:

const name = "Alice";
const age = 30;// 传统写法
const message = "My name is " + name + " and I am " + age + " years old.";// 简写写法
const message = `My name is ${name} and I am ${age} years old.`;

 

8、省略对象方法的 function 关键字

在对象中定义方法时,可以省略 function 关键字,例如:

const obj = {foo() {// ...},bar() {// ...},
};

 

9、省略参数列表的圆括号

在只有一个参数的箭头函数中,可以省略参数列表的圆括号,例如:

const double = (x) => x * 2;

 

10、省略对象属性的引号

在对象字面量中定义属性时,可以省略属性名称的引号,前提是属性名称不包含空格和特殊字符,例如:

const obj1 = {prop1: "value1",prop2: "value2",prop3: "value3",
};const obj2 = {prop1: "value1","prop with spaces": "value2",["computedProp"]: "value3",
};

 

11、省略布尔值的比较操作符

可以直接将布尔值作为条件,而不必使用比较操作符,例如:

// 传统写法
if (done === true) {// ...
}// 简写写法
if (done) {// ...
}

 


http://www.ppmy.cn/news/61207.html

相关文章

vue-router4、vuex4、Pinia

vue-router4 vue 升级 vue3 之后,配套的 vue-router 也升级为 vue-router4.x 版本 vue-router4 的语法和 3 的版本语法基本一致,但是有一些细微的修改。 vue-router官网:Vue Router | The official Router for Vue.js/ vue2 vue-router3 vu…

亚马逊下单需要什么条件?(养号干货知识)

混迹亚马逊的老手都知道,测评向来都是最有效,最快速的推广方式,给自己商品做点销量,优化一下listing,留一下一些优质评论,甚至于打压一下竞品,帮自己商品解个围。 养号环境四大步: …

Java 基础进阶篇(九)—— Java集合详细总结

文章目录 一、集合类体系结构二、Collection系列集合2.1 Collection 集合体系2.2 Collection 集合体系特点2.3 Collection 常用API2.4 Collection 集合的遍历方式2.4.1 方式一:迭代器2.4.2 方式二:foreach(增强for循环)2.4.3 方式…

数字化转型导师坚鹏:企业干部如何进行数字化转型

企业干部如何进行数字化转型 ——数字化转型背景下重塑企业干部核心竞争力 授课背景: 很多银行存在以下问题: 企业干部不知道如何进行数字化转型? 企业干部不清楚银行数字化能力模型的内涵? 企业干部不知道如何通过数字化…

MySQL数据库——MySQL修改视图(ALTER VIEW)

修改视图是指修改 MySQL 数据库中存在的视图&#xff0c;当基本表的某些字段发生变化时&#xff0c;可以通过修改视图来保持与基本表的一致性。 基本语法 可以使用 ALTER VIEW 语句来对已有的视图进行修改。 语法格式如下&#xff1a; ALTER VIEW <视图名> AS <SE…

我们都低估了GPT-4,它才是梦开始的地方

最近这两个月 AI技术带来的冲击一个接一个 我们的团队 都在忙着研究各种AIC能力 这个方面 还真不如自己马上上手 用这些软件感受来的那么强烈 我觉得至少有几个产品 大家可以去试一下 第一 大家赶紧去看一个check GBT plus的账号 然后亲身体验一下GPT4的底层能力 第二 是编程的…

Bash脚本中的Sleep命令到底有何妙用?

在编写Bash脚本时&#xff0c;有时需要在程序执行过程中加入一些等待时间&#xff0c;例如等待某个操作完成或等待某个进程退出。此时可以使用sleep命令来实现。 sleep命令可以让脚本暂停执行一段时间&#xff0c;其基本语法为&#xff1a; sleep <seconds>其中&#xf…

汇编实现LED循环点亮(延时子程序模板)

在单片机P2口外接8个发光二极管(低电平驱动)。试编写一个汇编程序&#xff0c;实现LED循环点亮功能:P2.0-P2.1-P2.2-P2.3-…-P2.7-P2.6-P25-…-P2.0的顺序&#xff0c;无限循环。要求采用软件延时方式控制闪烁时间间隔(约50ms)。 首先进行电路设计 电路原理图设计 利用 Prot…