国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript 操作符

這篇具有很好參考價(jià)值的文章主要介紹了JavaScript 操作符。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

JavaScript 操作符/運(yùn)算符

在 JavaScript 中,有一些操作符可以使代碼更簡潔、易讀和高效。以下是一些常見的操作符:

1、可選鏈操作符(optional chaining operator)

?.可選鏈操作符(optional chaining operator)。?. 可選鏈操作符用于訪問可能為空或未定義的屬性或方法,它允許我們安全地訪問嵌套對象的屬性,如果中間的屬性為空或未定義,則不會(huì)拋出錯(cuò)誤,而是返回 undefined。例如:

const obj = {
  foo: {
    bar: 123
  }
};

// 普通訪問屬性的方式
const x = obj.foo.bar; // x = 123

// 使用可選鏈操作符
const y = obj?.foo?.bar; // y = 123

// 如果對象未定義,則返回 undefined
const z = undefined?.foo?.bar; // z = undefined

2、空值合并操作符(nullish coalescing operator)

??空值合并操作符(nullish coalescing operator)。?? 空值合并操作符用于檢查一個(gè)變量是否為 null 或 undefined,如果是,則返回一個(gè)默認(rèn)值,否則返回該變量的值。與傳統(tǒng)的邏輯運(yùn)算符 || 不同,?? 只會(huì)在左側(cè)的值為 null 或 undefined 時(shí)返回右側(cè)的默認(rèn)值,對于其他假值(如空字符串、0、false 等)并不會(huì)返回默認(rèn)值,而是會(huì)返回它本身。例如:

const x = undefined ?? 'default'; // x = 'default'

const y = null ?? 'default'; // y = 'default'

const z = 'value' ?? 'default'; // z = 'value'

const a = '' ?? 'default'; // a = ''

const b = '' || 'default'; // b = 'default'

需要注意的是,?? 操作符需要在 ES11 及以上的版本才能使用。

3、箭頭函數(shù)(Arrow Function)

使用箭頭(=>)可以更簡潔地定義函數(shù)。例如:

// const add = (a, b) => {
//   return a + b;
// };

// 上述方式簡寫為:
const add = (a, b) => a + b;
console.log(add(1, 2)); // 3
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

注意,箭頭函數(shù)中的 this 指向的是定義時(shí)的上下文,而不是調(diào)用時(shí)的上下文。

4、模板字面量(Template Literals)

使用反引號(`)可以定義包含變量、表達(dá)式和換行符的字符串。例如:

const name = "Alice";
const age = 20;
console.log(`My name is ${name}, and I am ${age} years old.`);
// 'My name is Alice, and I am 20 years old.'

5、展開操作符(Spread Operator)

使用三個(gè)點(diǎn)(...)可以將數(shù)組或?qū)ο笳归_為一個(gè)列表或多個(gè)參數(shù)。例如:

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

const obj1 = { x: 1, y: 2 };
const obj2 = { z: 3 };
const obj3 = { ...obj1, ...obj2 };
console.log(obj3); // { x: 1, y: 2, z: 3 }

6、短路求值(Short-circuit Evaluation)

使用邏輯運(yùn)算符&&||可以進(jìn)行短路求值,簡化條件分支的寫法。例如:

const obj = { prop: "value" };
const propValue = obj.prop || "default";
console.log(propValue); // 'value'

const arr = [];
const firstValue = arr[0] && arr[0].prop;
console.log(firstValue); // undefined

7、簡寫的條件語句(Conditional (Ternary) Operator)

使用問號和冒號(?:)可以簡化 if-else 語句的寫法。例如:

const age = 20;
const message = age >= 18 ? "You are an adult" : "You are not an adult";
console.log(message); // 'You are an adult'

使用邏輯運(yùn)行符&&||簡化 if-else 語句的寫法。例如:

const err = undefined;

if (err) {
  console.error(err);
}
// 上述語句可簡寫為:
err && console.error(err);

8、簡寫的自增和自減操作符(Short-circuit Evaluation)

使用雙加號(++)和雙減號(--)可以簡化變量的自增和自減操作。例如:

let count = 0;
count++;
console.log(count); // 1

let num = 5;
const result = --num;
console.log(result); // 4

9、簡寫的賦值操作符(Assignment Operator)

使用加等號(+=)、減等號(-=)、乘等號(*=)、除等號(/=)等可以簡化復(fù)合賦值操作。例如:

let count = 0;
count += 1;
console.log(count); // 1

let num = 5;
num *= 2;
console.log(num); // 10

10、雙重否定運(yùn)算符(Double NOT Operator)

雙重否定運(yùn)算符(Double NOT Operator)即為兩個(gè)連續(xù)的嘆號("!!"),也稱為邏輯非非運(yùn)算符。它可以將一個(gè)值轉(zhuǎn)換為其對應(yīng)的布爾值。例如:

const x = "hello";
console.log(!!x); // true

const y = 0;
console.log(!!y); // false

需要注意的是,使用!!運(yùn)算符進(jìn)行布爾值轉(zhuǎn)換時(shí),要注意避免隱式類型轉(zhuǎn)換帶來的副作用,以免導(dǎo)致意外的行為。

11、?: 在 TypeScript 中表示可選屬性

在 TypeScript 中,可以使用 ? 表示一個(gè)屬性是可選的。例如:

interface Person {
  name: string;
  age?: number;
}

const person1: Person = { name: "Alice" };
const person2: Person = { name: "Bob", age: 20 };

在上面的例子中,Person 接口有一個(gè)可選屬性 age,這意味著可以創(chuàng)建一個(gè) Person 類型的對象,其中 age 屬性是可選的。文章來源地址http://www.zghlxwxcb.cn/news/detail-418275.html

到了這里,關(guān)于JavaScript 操作符的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • c++類與對象(二)——賦值運(yùn)算符重載與取地址操作符重載

    c++類與對象(二)——賦值運(yùn)算符重載與取地址操作符重載

    前言: 本章將通過 日期類 的實(shí)現(xiàn),深入學(xué)習(xí) 運(yùn)算符重載 的實(shí)現(xiàn)方法。本章將完成6個(gè)默認(rèn)成員函數(shù)中剩余3個(gè)—— 賦值運(yùn)算符重載 與 取地址操作符重載 的學(xué)習(xí)。 C++ 為了增強(qiáng)代碼的可讀性引入了 運(yùn)算符重載 ,運(yùn)算符重載是具有 特殊函數(shù)名 的函數(shù),也具有其返回值類型,

    2024年02月03日
    瀏覽(21)
  • C++ operator關(guān)鍵字的使用(重載運(yùn)算符、仿函數(shù)、類型轉(zhuǎn)換操作符)

    C++ operator的使用(重載運(yùn)算符、仿函數(shù)、類型轉(zhuǎn)換操作符) C++11實(shí)用技術(shù)(一)auto與decltype的使用 C++11實(shí)用技術(shù)(二)std::function和bind綁定器 C++11實(shí)用技術(shù)(三)std::future、std::promise、std::packaged_task、async C++11 中,operator 是一個(gè),用于重載運(yùn)算符。通過重載運(yùn)算符

    2024年02月14日
    瀏覽(31)
  • [C++] 類與對象(中)類中六個(gè)默認(rèn)成員函數(shù)(2)-- 運(yùn)算符重載 -- 取地址及const取地址操作符重載

    [C++] 類與對象(中)類中六個(gè)默認(rèn)成員函數(shù)(2)-- 運(yùn)算符重載 -- 取地址及const取地址操作符重載

    ? 本篇我們以日期類來展開講。對于一個(gè)日期,我們?nèi)绾稳ケ却笮∧??對年月日依次進(jìn)行比較可以,但是可以直接比較嗎? 我們可以看到,對于自定義類型的日期類直接去比較兩個(gè)日期的大小是錯(cuò)誤的,因此我們需要對運(yùn)算符賦予特殊的功能,去實(shí)現(xiàn)可以對自定義類型的比較

    2024年02月13日
    瀏覽(34)
  • 【JavaScript】JavaScript 運(yùn)算符 ④ ( 邏輯運(yùn)算符 | 邏輯與運(yùn)算符 && | 邏輯或運(yùn)算符 || | 邏輯非運(yùn)算符 ! )

    【JavaScript】JavaScript 運(yùn)算符 ④ ( 邏輯運(yùn)算符 | 邏輯與運(yùn)算符 && | 邏輯或運(yùn)算符 || | 邏輯非運(yùn)算符 ! )

    JavaScript 中的 邏輯運(yùn)算符 的作用是 對 布爾值 進(jìn)行運(yùn)算 , 運(yùn)算完成 后 的 返回值 也是 布爾值 ; 邏輯運(yùn)算符 的 使用場景 : 條件控制語句 , 控制程序分支 ; 循環(huán)控制語句 , 控制程序循環(huán) ; 邏輯 運(yùn)算符 列舉 : : 邏輯與運(yùn)算 , 兩個(gè)操作數(shù)都為 true , 最終結(jié)果才為 true , 只要有一個(gè)操

    2024年03月20日
    瀏覽(34)
  • 【JavaScript】JavaScript 運(yùn)算符 ⑤ ( 賦值運(yùn)算符 | 基礎(chǔ)賦值運(yùn)算符 與 復(fù)合賦值運(yùn)算符 )

    【JavaScript】JavaScript 運(yùn)算符 ⑤ ( 賦值運(yùn)算符 | 基礎(chǔ)賦值運(yùn)算符 與 復(fù)合賦值運(yùn)算符 )

    JavaScript 賦值運(yùn)算符種類 : 基礎(chǔ)賦值運(yùn)算符 : 等于 : = ; 復(fù)合賦值運(yùn)算符 : 加等 : += 減等 : -= 乘等 : *= 除等 : /= 取模等 : %= 有符號左移等 : = 有符號右移等 : = 無符號左移等 : = 無符號右移等 : = 在 JavaScript 語言中 , \\\" 賦值運(yùn)算符 \\\" 的 作用是 為 變量 分配值 ; 最基礎(chǔ)的 \\\" 賦值運(yùn)算

    2024年03月25日
    瀏覽(25)
  • 前端JS實(shí)用操作符,一些騷操作?

    前端JS實(shí)用操作符,一些騷操作?

    ???????? 目錄 0、!!? 雙重邏輯非操作符???? 1、?? 操作符 空值合并/空判斷??? 2、?. 可選鏈運(yùn)算符?? 3、??= 操作符 邏輯空值賦值運(yùn)算符??? 4、三元運(yùn)算符??? 5、~~ 操作符 雙位運(yùn)算符??? 6、與 ||或 短路運(yùn)算符??? 7、| 0 取整??? 8、 1 判斷奇偶數(shù)??? 9、_ 數(shù)值分割

    2024年02月14日
    瀏覽(26)
  • VHDL的運(yùn)算操作符

    VHDL的運(yùn)算操作符

    在VHDL語言中共有4類操作符,可以分別進(jìn)行 邏輯運(yùn)算(logical)、關(guān)系運(yùn)算(relational)、算術(shù)運(yùn)算(Arithmetic)和并置運(yùn)算(Concatenation) 。需要注意的是,被操作符所操作的對象是操作數(shù),且操作數(shù)的類型應(yīng)該和操作符所要求的類型相一致。另外,運(yùn)算操作符是有優(yōu)先級的,

    2024年02月06日
    瀏覽(21)
  • SQL中的一些操作符

    ??????? SQL???????? 操作符 DDL?? ?數(shù)據(jù)定義?? database,create,alter,drop??? create后面要加database,table,view,index;+ 名字 DML?? 數(shù)局查詢??? select ?????? ?? 數(shù)局更新??? insert,update,delete DCL ?? 數(shù)局控制??????? grant,revoke table : create table T1( uID int(11)

    2024年02月02日
    瀏覽(25)
  • JavaScript中一元運(yùn)算符、三元運(yùn)算符、循環(huán)

    前置自增: 后置自增: 區(qū)別 1.單獨(dú)使用前置和后置沒有區(qū)別。 2.前置自增:先自加再使用(記憶口訣:++在前,先加) 1.while循環(huán) 2.for循環(huán) 3.while循環(huán)和for循環(huán)區(qū)別 4.for循環(huán)嵌套 1.while循環(huán) 2.for循環(huán) 1.for循環(huán)執(zhí)行代碼 *作用:重復(fù)執(zhí)行代碼 *好處:把聲明起始值、循環(huán)條件、變

    2024年02月04日
    瀏覽(25)
  • JavaScript 操作符

    在 JavaScript 中,有一些操作符可以使代碼更簡潔、易讀和高效。以下是一些常見的操作符: ?. 是 可選鏈操作符(optional chaining operator) 。 ?. 可選鏈操作符 用于訪問可能為空或未定義的屬性或方法,它允許我們安全地訪問嵌套對象的屬性,如果中間的屬性為空或未定義,則不

    2023年04月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包