首页 > 其他分享 >兼收并蓄 TypeScript - 基础: string

兼收并蓄 TypeScript - 基础: string

时间:2024-09-20 12:17:42浏览次数:9  
标签:TypeScript console string 兼收并蓄 webabcd let 字符串 hello log

源码 https://github.com/webabcd/TypeScriptDemo
作者 webabcd

兼收并蓄 TypeScript - 基础: string

示例如下:

basic\string.ts

{
    let a = "\x7A"; // 十六进制的 “7A” 是字符 “z”
    let b = "\u{7A}"; // 十六进制的 “7A” 是字符 “z”
    let c = "\u{738B}"; // UTF-8 (Unicode) 中 /u4e00-/u9fa5 是中文,\u738B 代表的是汉字 “王”
    let d = "王".charCodeAt(0).toString(16); // 将指定的字符转换为 UTF-8 (Unicode) 编码
    console.log(`${a} ${b} ${c} ${d}`);
    // z z 王 738b


    // 将其他类型的数据转换为字符串
    console.log(String(123), String(true));
    // 123 true


    // 可以通过 '' 或 "" 或 `` 定义字符串
    console.log('"""', "'''", `'''"""`);
    // """ ''' '''"""


    // includes() - 是否包含指定的字符串
    // startsWith() - 是否以指定的字符串开头, 第 2 个参数是可选的用于指定开始查找的位置
    // endsWith() - 是否以指定的字符串结尾, 第 2 个参数是可选的用于指定结束查找的位置
    let e = "abc,ijk,xyz";
    console.log(`${e.includes("ijk")} ${e.startsWith("abc")} ${e.startsWith("ijk", 4)} ${e.endsWith("xyz")} ${e.endsWith("ijk", 7)}`);
    // true true true true true


    // repeat() - 让字符串重复指定的次数
    let f = "webabcd,";
    console.log(`${f.repeat(3)}`);
    // webabcd,webabcd,webabcd,


    // `` 这玩意叫模板字符串(template string),可以在 ${} 中执行表达式或函数或变量等
    let g = "webabcd"
    console.log(`hello: ${g},${g.length}`);
    // hello: webabcd,7
    
    // 可以通过 template string 定义多行文本
    let h = `123
 456 " ' \` \\n`;
    console.log(`${h}`);
    // 123
    //  456 " ' ` \n


    // 标签模板(tagged template),就是自定义的模板字符串
    // 本例中 strings 的值为 ["key1: ", ", key2: ", ""]
    // 本例中 values 的值为["value1", "value2"]
    function i(strings: TemplateStringsArray, ...values: any[]) {  
        let result = "";  
        for (let i = 0; i < strings.length; i++) {  
            result += strings[i];  
            if (i < values.length) {  
                result += values[i];  
            }  
        }  
        return result;  
    }
    console.log(i`key1: ${"value1"}, key2: ${"value2"}`);
    // key1: value1, key2: value2
}

// es2017 新特性
{
    // padStart() - 指定字符串的最小长度,以及当长度不够时左侧需要补全的字符串
    console.log("abc".padStart(10, "x")) // xxxxxxxabc
    // padEnd() - 指定字符串的最小长度,以及当长度不够时右侧需要补全的字符串
    console.log("abc".padEnd(10, "x")) // abcxxxxxxx
}

// es2019 新特性
{
    // trimStart() - 去除字符串左侧的空白字符(来自 es2019)
    console.log('  hello world  '.trimStart()); // "hello world  "
    // trimEnd() - 去除字符串右侧的空白字符(来自 es2019)
    console.log('  hello world  '.trimEnd()); // "  hello world"
    // trim() - 去除字符串两侧的空白字符(来自 es5.1)
    console.log('  hello world  '.trim()); // "hello world"
}

// es2021 新特性
{
    const str = 'aaabbbccc';
    console.log(str.replace("b", "z")); // aaazbbccc
    // replaceAll() - 替换所有匹配的字符串,而不仅仅是第一个匹配的字符串(来自 es2021)
    console.log(str.replaceAll("b", "z")); // aaazzzccc
}

源码 https://github.com/webabcd/TypeScriptDemo
作者 webabcd

标签:TypeScript,console,string,兼收并蓄,webabcd,let,字符串,hello,log
From: https://www.cnblogs.com/webabcd/p/18422237/typescript_basic_string

相关文章

  • 兼收并蓄 TypeScript - 基础: symbol
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:symbol示例如下:basic\symbol.ts{//Symbol()是一个全局函数,返回一个唯一的Symbol值consta=Symbol();constb=Symbol();//b与a不同constc=Sy......
  • 兼收并蓄 TypeScript - 基础: array
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:array示例如下:basic\array.ts{//array-数组//创建数组letarray1:number[]=[1,2,3];letarray2:Array<number>=[1,2,3];letarray3:Ar......
  • 兼收并蓄 TypeScript - 基础: set
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:set示例如下:basic\set.ts{//set是一个集合,先进先出,不会插入重复数据,数据支持类型的多样性//常规操作有add(),delete(),has(),clear(),size等letmySet=......
  • 兼收并蓄 TypeScript - 基础: map
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:map示例如下:basic\map.ts{//map是一个key/value集合,先进先出,遇到重复键值则后面的会覆盖前面的,key和value都支持类型的多样性//常规操作有set(),get(),dele......
  • 兼收并蓄 TypeScript - 基础: tuple
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:tuple示例如下:basic\tuple.ts{//tuple-元组leta:[string,number]=['webabcd',22];a[0]='wanglei';a[1]=44;console.log(a,a[0......
  • 兼收并蓄 TypeScript - 类: enum
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-类:enum示例如下:class\enum.ts{//简单枚举enumStatus{ok,error};console.log(Status["ok"],Status["error"]);//01console.log(Status[0],Status......
  • 兼收并蓄 TypeScript - 类: function
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-类:function示例如下:class\function.ts{//定义函数时要指定参数的类型和返回值的类型,无返回值时可以用void表示functionf1(x:number,y:number):number{retur......
  • 兼收并蓄 TypeScript - 类: interface
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-类:interface示例如下:class\interface.ts{//接口用于定义对象的形状,这个是TypeScript的功能(JavaScript中没有)interfacePerson{readonlyid:number;//只读......
  • 兼收并蓄 TypeScript - 基础: 基础
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:基础示例如下:basic\basic.ts{//基础//try/catch/finally的用法functionf1(str:string):number|null{try{letnum=Number(str......
  • 兼收并蓄 TypeScript - 基础: var, let, const
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:var,let,const示例如下:basic\var_let_const.ts//var声明的变量是全局作用域,块外也可用{vara=10;}console.log(a);//let声明的变量是块作用域,仅块内可用{......