typescript 学习之基本类型: 字符串(1)
2017-10-22 本文已影响0人
cfcodefans
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"
先到这儿吧....下次继续(ง •̀_•́)ง