JavaScript - JavaScript 运算符之圆括号运算符与方括号运算符(圆括号运算符概述、圆括号运算符用法、方括号运算符概述、方括号运算符用法)
一、圆括号运算符概述
- 圆括号运算符(
()
)主要用于函数调用、表达式分组、多种语法结构登
二、圆括号运算符用法
- 调用函数
function greet() {console.log("Hello!");
}greet();
# 输出结果Hello!
- 当箭头函数有多个参数或零个参数时需要括号
const add = (a, b) => a + b;
const sayHi = () => console.log("Hi");
// 可加括号,可不加括号const sayContent = content => console.log(content);const sayContent = (content) => console.log(content);
- 立即调用函数表达式,即立即执行函数
(function () {console.log("立即执行");
})();(function (name) {console.log("Hello, " + name);
})("Alice");
# 输出结果立即执行
Hello, Alice
- 改变运算优先级
括号可以改变表达式的计算顺序:
const result1 = (2 + 3) * 5;
const result2 = 2 + 3 * 5;console.log(result1);
console.log(result2);
# 输出结果25
17
- 分组表达式
const a = 1,b = 2,c = 3;
const max = a > b ? (a > c ? a : c) : b > c ? b : c;console.log(max);
# 输出结果3
- 箭头函数直接返回对象字面量时需要括号,否则会返回 undefined
const createObject = (a, b) => {a, b
};
console.log(createObject(1, 2));
# 输出结果undefined
const createObject = (a, b) => ({a,b
});
# 输出结果{a: 1, b: 2}
// 对比返回其他字面量const createNum = (a, b) => a + b;
console.log(createNum(1, 2));const createString = (str) => "Hello, " + str;
console.log(createString("Alice"));const createArray = (a, b) => [a, b];
console.log(createArray(1, 2));
# 输出结果3
Hello, Alice
(2) [1, 2]
- 对象中的简洁方法定义
const obj = {sayHello() {console.log("Hello");},
};
- 正则表达式分组匹配
const str = "2023-01-15";
const match = str.match(/(\d{4})-(\d{2})-(\d{2})/);
console.log(match[1]);
# 输出结果2023
- 与逗号操作符结合使用
const a = (1, 2, 3);
console.log(a);
# 输出结果3
三、方括号运算符概述
- 方括号运算符(
[]
)用于访问对象属性、数组元素、计算属性名等,相比点表示法(.
)更加灵活
四、方括号运算符用法
- 访问对象属性
const person = {name: "Alice",age: 25,"favorite-color": "blue", // 包含特殊字符的属性名必须用字符串
};// 点表示法
console.log(person.name);// 括号表示法
console.log(person["name"]);
console.log(person["favorite-color"]); // 点表示法无法访问
# 输出结果Alice
Alice
blue
- 动态属性访问
const person = {name: "Alice",age: 25,"favorite-color": "blue",
};const propertyName1 = "name";
console.log(person[propertyName1]);const propertyName2 = "favorite-color";
console.log(person[propertyName2]);
# 输出结果Alice
blue
- 访问数组元素
const fruits = ["apple", "banana", "orange"];console.log(fruits[1]);
# 输出结果banana
- 计算属性名
const propKey = "name";
const obj = {[propKey]: "Bob",["user_" + propKey]: "user_Bob",
};console.log(obj.name);
console.log(obj.user_name);
# 输出结果Bob
user_Bob
- 使用 Symbol 作为属性名时,必须使用方括号
const sym = Symbol("unique");
const obj = {sym: "value",
};console.log(obj[sym]);
# 输出结果undefined
const sym = Symbol("unique");
const obj = {[sym]: "value",
};console.log(obj[sym]);
# 输出结果value