一、圓括號運算符概述
- 圓括號運算符(
()
)主要用于函數調用、表達式分組、多種語法結構登
二、圓括號運算符用法
- 調用函數
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