typescript 学习之基本类型: 字符串(1)

JSON.stringify方法可以把各种有的没的,转成字符串

JSON.stringify({})      =       "{}"
JSON.stringify(null)    =       "null"
JSON.stringify(undefined)       =       undefined

typescript里的字符串自带char数组属性,但是并没有数组的某些方法,例如forEach

'abcdef'[0]     =       "a"
'abcdef'[1]     =       "b"
'abcdef'[6]     =       undefined
'abcdef'[-1]    =       undefined

有些方法可以把字符串包裹在html标签里(不过我还没见过谁特意这么干,恩...)

'abcdef'.anchor()       =       "<a name=\"undefined\">abcdef</a>"
'abcdef'.anchor('test') =       "<a name=\"test\">abcdef</a>"
''.anchor('test')       =       "<a name=\"test\"></a>"
'<a/>'.anchor('test')   =       "<a name=\"test\"><a/></a>"
'abcdef'.big()  =       "<big>abcdef</big>"
'abcdef'.blink()        =       "<blink>abcdef</blink>"
'abcdef'.bold() =       "<b>abcdef</b>"
'abcdef'.fixed()        =       "<tt>abcdef</tt>"
'abcdef'.fontcolor()    =       "<font color=\"undefined\">abcdef</font>"
'abcdef'.fontcolor('red')       =       "<font color=\"red\">abcdef</font>"
'abcdef'.fontsize()     =       "<font size=\"undefined\">abcdef</font>"
'abcdef'.fontsize('10') =       "<font size=\"10\">abcdef</font>"
'abcdef'.fontsize('0')  =       "<font size=\"0\">abcdef</font>"
'abcdef'.fontsize('')   =       "<font size=\"\">abcdef</font>"
'abcdef'.fontsize(null) =       "<font size=\"null\">abcdef</font>"
'abcdef'.fontsize(10)   =       "<font size=\"10\">abcdef</font>"
'abcdef'.fontsize(0)    =       "<font size=\"0\">abcdef</font>"
'abcdef'.italics()      =       "<i>abcdef</i>"
'abcdef'.link() =       "<a href=\"undefined\">abcdef</a>"

得到字符

'abcdef'.charAt(1)      =       "b"
'abcdef'.charAt(10)     =       ""
'abcdef'.charAt(-1)     =       ""
'abcdef'.charAt(-10)    =       ""
'abcdef'.charCodeAt(1)  =       98
'abcdef'.charCodeAt(10) =       null //小心返回值
'abcdef'.charCodeAt(-1) =       null
'abcdef'.codePointAt(1) =       98
'abcdef'.codePointAt(10)        =       undefined //小心返回值
'abcdef'.codePointAt(-1)        =       undefined

连接字符串=把参数转成字符串,再连接

'abcdef'.concat('12345')        =       "abcdef12345"
'abcdef'.concat(12345)  =       "abcdef12345"
'abcdef'.concat(new Date())     =       "abcdefSun Oct 22 2017 14:17:55 GMT+0800 (China Standard Time)"
'abcdef'.concat('')     =       "abcdef"
'abcdef'.concat(null)   =       "abcdefnull"
'abcdef'.concat(undefined)      =       "abcdefundefined"

js没类型, 很多人喜欢没有类型的限制,那就准备跳坑吧

'abcdef'.endsWith('f')  =       true
'abcdef'.endsWith('1')  =       false
'abcdef'.endsWith('')   =       true
'123456'.endsWith(6)    =       true //坑你一下
'abcdef'.endsWith(null) =       false
'abcdefnull'.endsWith(null)     =       true //坑你一下
'abcdefundefined'.endsWith(undefined)   =       true //坑你一下

包含吗?不包含吗?

'abcdef'.includes()     =       false
'abcdef'.includes(null) =       false
'abc_null_def'.includes(null)   =       true
'abcdef'.includes(undefined)    =       false
'abc_undefined_def'.includes(undefined) =       true
'abcdef'.includes('bcd')        =       true
'abcdef'.includes('bcd', 0)     =       true
'abcdef'.includes('bcd', 1)     =       true
'abcdef'.includes('bcd', 2)     =       false
'abcdef'.includes('bcd', -1)    =       true //如果你用过python的话......
'abcdef'.includes('bcd', -2)    =       true
'abcdef'.includes('ef', -3)     =       true
'abcdef'.includes('ef', 10)     =       false
'abcdef'.indexOf('d')   =       3
'abcdef'.indexOf('1')   =       -1
'abcdef'.indexOf('')    =       0
'abcdef'.indexOf('d', 2)        =       3
'abcdef'.indexOf('d', 3)        =       3
'abcdef'.indexOf('d', 4)        =       -1
'abcdef'.indexOf('d', 5)        =       -1
'abcdef'.indexOf('d', 10)       =       -1
'abcdef'.indexOf('d', -3)       =       3
'abc_null_def'.indexOf(null)    =       4
'abc_undefined_def'.indexOf(undefined)  =       4
'abcdef'.lastIndexOf('d')       =       3
'abcdef'.lastIndexOf('1')       =       -1
'abcdef'.lastIndexOf('')        =       6
'abcdef'.lastIndexOf('d', 2)    =       -1
'abcdef'.lastIndexOf('d', 3)    =       3
'abcdef'.lastIndexOf('d', 4)    =       3
'abcdef'.lastIndexOf('d', 5)    =       3
'abcdef'.lastIndexOf('d', 10)   =       3
'abcdef'.lastIndexOf('d', -3)   =       -1
'abc_null_def'.lastIndexOf(null)        =       4
'abc_undefined_def'.lastIndexOf(undefined)      =       4

null和undefined比较大? 这逻辑我不懂

'abcdef'.localeCompare()        =       -1
'abcdef'.localeCompare(null)    =       -1
'abcdef'.localeCompare('null')  =       -1
'abcdef'.localeCompare(undefined)       =       -1
'abcdef'.localeCompare('undefined')     =       -1
'abcdef'.localeCompare('a')     =       1
'abcdef'.localeCompare('abcdef')        =       0
'abcdef'.localeCompare('abcdefg')       =       -1
'abcdef'.localeCompare('aacdef')        =       1
'abcdef'.localeCompare('accdef')        =       -1

正则表达式这个大坑,有空再跳吧

'abcdef'.match()        =       [""]
'abcdef'.match(/./)     =       ["a"]
'abcdef'.match(/cde/)   =       ["cde"]
'abcdef'.match(/(b|d)/) =       ["b","b"]
'abcdef'.match(null)    =       null
'abc_null_def'.match(null)      =       ["null"]
'abcdef'.match(undefined)       =       [""]
'abc_undefined_def'.match(undefined)    =       [""]

还是不明白normalize是干嘛的

'abcdef'.normalize()    =       "abcdef"
'abcdef'.normalize('NFC')       =       "abcdef"
'abcdef'.normalize('NFD')       =       "abcdef"
'abcdef'.normalize('NFKC')      =       "abcdef"
'abcdef'.normalize('NFKD')      =       "abcdef"
'123456'.normalize('NFC')       =       "123456"
'123456'.normalize('NFD')       =       "123456"
'123456'.normalize('NFKC')      =       "123456"
'123456'.normalize('NFKD')      =       "123456"
'ẛ̣'.normalize('NFC') =       "ẛ̣"
'ẛ̣'.normalize('NFD') =       "ẛ̣"
'ẛ̣'.normalize('NFKC')        =       "ṩ"
'ẛ̣'.normalize('NFKD')        =       "s

前填充,后填充

'abcdef'.padEnd(20)     =       "abcdef              " //默认填空格
'abcdef'.padEnd(10)     =       "abcdef    "
'abcdef'.padEnd(0)      =       "abcdef"
'abcdef'.padEnd(1)      =       "abcdef"
'abcdef'.padEnd(20, '-')        =       "abcdef--------------"
'abcdef'.padEnd(15, '-')        =       "abcdef---------"
'abcdef'.padEnd(10, '-')        =       "abcdef----"
'abcdef'.padEnd(10.5, '-')      =       "abcdef----" //不是四舍五入吗?
'abcdef'.padEnd(0, '-') =       "abcdef"
'abcdef'.padEnd(-1, '-')        =       "abcdef"
'abcdef'.padEnd(10, '123456')   =       "abcdef1234"
'abcdef'.padEnd(10, null)       =       "abcdefnull"
'abcdef'.padEnd(10, undefined)  =       "abcdef    "
'abcdef'.padStart(20)   =       "              abcdef"
'abcdef'.padStart(10)   =       "    abcdef"
'abcdef'.padStart(0)    =       "abcdef"
'abcdef'.padStart(1)    =       "abcdef"
'abcdef'.padStart(20, '-')      =       "--------------abcdef"
'abcdef'.padStart(15, '-')      =       "---------abcdef"
'abcdef'.padStart(10, '-')      =       "----abcdef"
'abcdef'.padStart(10.5, '-')    =       "----abcdef"
'abcdef'.padStart(0, '-')       =       "abcdef"
'abcdef'.padStart(-1, '-')      =       "abcdef"
'abcdef'.padStart(10, '123456') =       "1234abcdef"
'abcdef'.padStart(10, null)     =       "nullabcdef"
'abcdef'.padStart(10, undefined)        =       "    abcdef"

先到这儿吧....下次继续(ง •̀_•́)ง

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容