最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TypeScript 運算符的實現(xiàn)示例

 更新時間:2026年01月22日 08:22:34   作者:咔咔庫奇  
本文概述了TypeScript中的多種運算符,包括算術、邏輯、關系、按位、賦值、三元/條件、字符串和類型運算符,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

算術運算符

運算符描述例子x 運算結(jié)果y 運算結(jié)果
+加法x=y+275
-減法x=y-235
*乘法x=y*2105
/除法x=y/22.55
%取模(余數(shù))x=y%215
++自增x=++y66
x=y++56
--自減x=--y44
x=y--54
let x: number = 5;
let y: number = 5;

x = y + 2; // 加法
console.log(x); // 輸出: 7
x = y - 2; // 減法
console.log(x); // 輸出: 3
x = y * 2; // 乘法
console.log(x); // 輸出: 10
x = y / 2; // 除法
console.log(x); // 輸出: 2.5
x = y % 2; // 取模(余數(shù))
console.log(x); // 輸出: 1

x = ++y; // 自增(前綴)
console.log(x); // 輸出: 6, y 也變?yōu)?6
y = 5; // 重置 y
x = y++; // 自增(后綴)
console.log(x); // 輸出: 5, 但 y 變?yōu)?6

x = --y; // 自減(前綴)
console.log(x); // 輸出: 4, y 也變?yōu)?4
y = 5; // 重置 y
x = y--; // 自減(后綴)
console.log(x); // 輸出: 5, 但 y 變?yōu)?4

關系運算符

運算符描述比較返回值
==等于x==8false
x==5true
!= 不等于x!=8true
> 大于x>8false
< 小于x<8true
>= 大于或等于x>=8false
<= 小于或等于x<=8true
let a: number = 5;
let b: number = 8;

console.log(a == 8); // 輸出: false
console.log(a == 5); // 輸出: true
console.log(a != 8); // 輸出: true
console.log(a > 8);  // 輸出: false
console.log(a < 8);  // 輸出: true
console.log(a >= 8); // 輸出: false
console.log(a <= 8); // 輸出: true

邏輯運算符

運算符描述例子
&&and(x < 10 && y > 1) 為 true
||or(x==5 || y==5) 為 false
!not!(x==y) 為 true
let c: boolean = (a < 10 && b > 1); // and
console.log(c); // 輸出: true

let d: boolean = (a == 5 || b == 5); 
// or(這里實際上為false,因為b不等于5,但示例中寫錯了,已更正)
console.log(d); 
// 輸出: false,因為a==5為真,但b==5為假,但由于是or運算,有一個為真則結(jié)果為真
//(此處描述有誤,已根據(jù)邏輯更正輸出和解釋)
// 注意:上面的d應該為false,因為這里的||是邏輯或,只要有一個條件為真,結(jié)果就為真,
//這里的描述有誤,已更正。
// 正確的邏輯應該是:d為true,因為a==5為真,所以整個表達式為真,但原意是想展示or運算,
//所以保留原代碼和錯誤描述以指出更正。
// 為了避免混淆,我們重新寫一個正確的or運算示例:
let e: boolean = (a == 10 || b == 5); // or
console.log(e); // 輸出: true,因為b==5為真

let f: boolean = !(a == b); // not
console.log(f); // 輸出: true,因為a不等于b

注意:上面的d的邏輯描述有誤,已更正。正確的邏輯是,只要||左右兩邊有一個表達式為真,則整個表達式的結(jié)果為真。為了清晰,我添加了一個新的示例e來正確展示||運算。

短路運算符(&& 與 ||)

短路邏輯與&&

&& 運算符只有在左右兩個表達式都為 true 時才返回 true。如果第一個表達式為 false,則整個表達式的結(jié)果立即確定為 false,并且不會評估第二個表達式。這稱為“短路”行為。

實例:

public class ShortCircuitExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;

// 這是一個安全的檢查,因為如果 a < 5 為 false,則不會執(zhí)行 b / a,從而避免了除以零的錯誤
        if (a < 5 && b / a > 0) {
            System.out.println("Both conditions are true");
        } else {
            System.out.println("At least one condition is false");
        }

        // 輸出: At least one condition is false
    }
}

在這個例子中,即使 b / a > 0 表達式在單獨評估時會導致除以零的運行時錯誤,但由于 a < 5 為 false,&& 運算符短路了,不評估 b / a > 0,從而避免了錯誤。

短路邏輯或||

|| 運算符只要左右兩個表達式中有一個為 true 就返回 true。如果第一個表達式為 true,則整個表達式的結(jié)果立即確定為 true,并且不會評估第二個表達式。

實例:

public class ShortCircuitOrExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;

// 如果第一個條件 a > 5 為 true,則不會評估第二個條件 b / a > 0,從而避免了除以零的錯誤
        if (a > 5 || b / a > 0) {
            System.out.println("At least one condition is true");
        } else {
            System.out.println("Both conditions are false");
        }

        // 輸出: At least one condition is true
    }
}

在這個例子中,由于 a > 5 為 true,|| 運算符短路了,不評估 b / a > 0,從而避免了除以零的錯誤。

位運算符

運算符描述例子類似于結(jié)果十進制
&AND,按位與處理兩個長度相同的二進制數(shù),兩個相應的二進位都為 1,該位的結(jié)果值才為 1,否則為 0。x = 5 & 10101 & 00010001 1
|OR,按位或處理兩個長度相同的二進制數(shù),兩個相應的二進位中只要有一個為 1,該位的結(jié)果值為 1。x = 5 | 10101 | 00010101 5
~取反,取反是一元運算符,對一個二進制數(shù)的每一位執(zhí)行邏輯反操作。使數(shù)字 1 成為 0,0 成為 1。x = ~ 5 ~01011010 -6
^異或,按位異或運算,對等長二進制模式按位或二進制數(shù)的每一位執(zhí)行邏輯異按位或操作。操作的結(jié)果是如果某位不同則該位為 1,否則該位為 0。x = 5 ^ 10101 ^ 00010100 4
<<左移,把 << 左邊的運算數(shù)的各二進位全部左移若干位,由 << 右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補 0。x = 5 << 10101 << 11010 10
>>右移,把 >> 左邊的運算數(shù)的各二進位全部右移若干位,>> 右邊的數(shù)指定移動的位數(shù)。x = 5 >> 10101 >> 100102
>>>無符號右移,與有符號右移位類似,除了左邊一律使用0 補位。x = 2 >>> 10010 >>> 100011
let g: number = 5; // 二進制: 0101
let h: number = 1; // 二進制: 0001

let i: number = g & h; // AND
console.log(i); // 輸出: 1 (二進制: 0001)

let j: number = g | h; // OR
console.log(j); // 輸出: 5 (二進制: 0101)

let k: number = ~g; // NOT
console.log(k); // 輸出: -6 (二進制: 1010 取反后加1表示負數(shù),這里是補碼表示)

let l: number = g ^ h; // XOR
console.log(l); // 輸出: 4 (二進制: 0100)

let m: number = g << 1; // 左移
console.log(m); // 輸出: 10 (二進制: 1010)

let n: number = g >> 1; // 右移
console.log(n); // 輸出: 2 (二進制: 0010)

let o: number = 2 >>> 1; // 無符號右移
console.log(o); // 輸出: 1 (對于正數(shù),無符號右移和有符號右移結(jié)果相同)

賦值運算符

運算符例子實例x 值
= (賦值)x = yx = yx = 5
+= (先進行加運算后賦值)x += yx = x + yx = 15
-= (先進行減運算后賦值)x -= yx = x - yx = 5
*= (先進行乘運算后賦值)x *= yx = x * yx = 50
/= (先進行除運算后賦值)x /= yx = x / yx = 2
let p: number = 10;
let q: number = 5;

p = q; // 賦值
console.log(p); // 輸出: 5

p += q; // 加后賦值
console.log(p); // 輸出: 10

p -= q; // 減后賦值
console.log(p); // 輸出: 5

p *= q; // 乘后賦值
console.log(p); // 輸出: 25

p /= q; // 除后賦值
console.log(p); // 輸出: 5

三元運算符(?)

let r: boolean = true;
let s: string = r ? "Yes" : "No";
console.log(s); // 輸出: Yes

類型運算符

typeof運算符

typeof 是一元運算符,返回操作數(shù)的數(shù)據(jù)類型

let t: number = 10;
let typeOfT: string = typeof t; // 獲取變量的類型
console.log(typeOfT); // 輸出: "number"

class MyClass {}
let myObj: MyClass = new MyClass();
let isInstanceOfMyClass: boolean = myObj instanceof MyClass; 
// 檢查對象是否是某個構造函數(shù)的實例
console.log(isInstanceOfMyClass); // 輸出: true

instanceof

其他運算符

負號運算符(-)

// 對正數(shù)應用負號運算符
let positiveNumber: number = 10;
let negativeNumber: number = -positiveNumber;
console.log(negativeNumber); // 輸出: -10

// 對負數(shù)應用負號運算符(相當于取絕對值后再加上負號,但結(jié)果仍是正數(shù),
//如果原數(shù)是負數(shù)的話其絕對值會變?yōu)槠湎喾磾?shù)再取負還是原數(shù))
let anotherNegativeNumber: number = -5;
let result: number = -anotherNegativeNumber;
console.log(result); // 輸出: 5

// 直接對字面量數(shù)值應用負號運算符
let literalNegativeNumber: number = -7;
console.log(literalNegativeNumber); // 輸出: -7

// 在表達式中使用負號運算符
let x: number = 5;
let y: number = -3;
let sum: number = x + (-y); 
// 相當于 x + y,但這里顯式地使用了負號運算符來取y的相反數(shù)
console.log(sum); // 輸出: 8

// 注意:負號運算符不能用于非數(shù)值類型,否則會引發(fā)類型錯誤
// let stringValue: string = "10";
// let invalidOperation: number = -stringValue; 
// 這會編譯錯誤,因為不能對字符串類型應用負號運算符

請注意,負號運算符只能用于數(shù)值類型。如果你嘗試對非數(shù)值類型(如字符串或布爾值)應用負號運算符,TypeScript編譯器會拋出一個類型錯誤。在上面的注釋部分,我們提供了一個示例來說明這一點,但為了避免編譯錯誤,我們實際上沒有執(zhí)行這個無效操作。

字符串運算符: 連接運算符 (+)

 +運算符可以拼接兩個字符串

let t: number = 10;
let typeOfT: string = typeof t; // 獲取變量的類型
console.log(typeOfT); // 輸出: "number"

class MyClass {}
let myObj: MyClass = new MyClass();
let isInstanceOfMyClass: boolean = myObj instanceof MyClass; 
// 檢查對象是否是某個構造函數(shù)的實例
console.log(isInstanceOfMyClass); // 輸出: true

到此這篇關于TypeScript 運算符的實現(xiàn)示例的文章就介紹到這了,更多相關TypeScript 運算符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • DOM節(jié)點深度克隆函數(shù)cloneNode()用法實例

    DOM節(jié)點深度克隆函數(shù)cloneNode()用法實例

    這篇文章主要介紹了DOM節(jié)點深度克隆函數(shù)cloneNode()用法,實例分析了cloneNode()函數(shù)深度復制的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • JavaScript中的concat()方法的用法詳解

    JavaScript中的concat()方法的用法詳解

    在?JavaScript?中,數(shù)組和字符串都是常用的數(shù)據(jù)結(jié)構,在實際開發(fā)中,操作數(shù)組和字符串是非常頻繁的任務,concat()?方法就是用于合并數(shù)組或字符串的一種常見方法,在本文中,我們將詳細探討?concat()?方法的用法和示例,需要的朋友可以參考下
    2024-11-11
  • 詰屈聱牙之javascript中國象棋

    詰屈聱牙之javascript中國象棋

    詰屈聱牙之javascript中國象棋...
    2007-04-04
  • uniapp實現(xiàn)上拉加載更多功能的全過程

    uniapp實現(xiàn)上拉加載更多功能的全過程

    我們在項目中經(jīng)常使用到上拉加載更多,下面這篇文章主要給大家介紹了關于uniapp實現(xiàn)上拉加載更多功能的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • 微信小程序前端promise封裝代碼實例

    微信小程序前端promise封裝代碼實例

    這篇文章主要介紹了微信小程序前端promise封裝代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • PHP 502bad gateway原因及解決方案

    PHP 502bad gateway原因及解決方案

    這篇文章主要介紹了PHP 502bad gateway原因及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • xtree.js 代碼

    xtree.js 代碼

    xtree.js 代碼...
    2007-03-03
  • js讀取配置文件自寫

    js讀取配置文件自寫

    這篇文章主要介紹了js讀取配置文件的方法,需要的朋友可以參考下
    2014-02-02
  • 基于JS制作一個網(wǎng)頁版的猜數(shù)字小游戲

    基于JS制作一個網(wǎng)頁版的猜數(shù)字小游戲

    這篇文章主要為大家詳細介紹了如何利用HTML+CSS+JavaScript實現(xiàn)一個簡單的網(wǎng)頁版的猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 對layui中表單元素的使用詳解

    對layui中表單元素的使用詳解

    今天小編就為大家分享一篇對layui中表單元素的使用詳解。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論

南丰县| 商丘市| 石狮市| 交城县| 石城县| 萨迦县| 临城县| 聊城市| 集贤县| 安泽县| 黑河市| 铜山县| 广丰县| 周宁县| 三台县| 林口县| 额尔古纳市| 岳普湖县| 潜江市| 响水县| 宣威市| 红原县| 新兴县| 定边县| 江山市| 达尔| 扬中市| 武清区| 巩留县| 循化| 宜都市| 鞍山市| 张家港市| 栾城县| 沅江市| 北川| 泊头市| 乌拉特前旗| 庆云县| 平陆县| 铅山县|