[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/cdalws/javascript-tutorial/master/docs/stdlib/string.md [Back]  [Original]

# String 

## 

`String` JavaScript 

```javascript
var s1 = 'abc';
var s2 = new String('abc');

typeof s1 // "string"
typeof s2 // "object"

s2.valueOf() // "abc"
```

`s1``s2``s2``s2.valueOf`



```javascript
new String('abc')
// String {0: "a", 1: "b", 2: "c", length: 3}

(new String('abc'))[1] // "b"
```

`abc``0``1``2``length`

`String`

```javascript
String(true) // "true"
String(5) // "5"
```

`true``5`

## 

### String.fromCharCode()

`String``String.fromCharCode()` Unicode 

```javascript
String.fromCharCode() // ""
String.fromCharCode(97) // "a"
String.fromCharCode(104, 101, 108, 108, 111)
// "hello"
```

`String.fromCharCode` Unicode 

 Unicode `0xFFFF``0xFFFF` 65535

```javascript
String.fromCharCode(0x20BB7)
// ""
String.fromCharCode(0x20BB7) === String.fromCharCode(0x0BB7)
// true
```

`String.fromCharCode``0x20BB7``0xFFFF``0x20BB7````0x0BB7``String.fromCharCode``0xFFFF``0x20BB7``2`

`0xFFFF` JavaScript `0x20BB7`

```javascript
String.fromCharCode(0xD842, 0xDFB7)
// ""
```

`0x20BB7``0xD842``0xDFB7``0xFFFF` UTF-16 

## 

### String.prototype.length

`length`

```javascript
'abc'.length // 3
```

## 

### String.prototype.charAt()

`charAt``0`

```javascript
var s = new String('abc');

s.charAt(1) // "b"
s.charAt(s.length - 1) // "c"
```



```javascript
'abc'.charAt(1) // "b"
'abc'[1] // "b"
```

`charAt`

```javascript
'abc'.charAt(-1) // ""
'abc'.charAt(3) // ""
```

### String.prototype.charCodeAt()

`charCodeAt` Unicode `String.fromCharCode()`

```javascript
'abc'.charCodeAt(1) // 98
```

`abc``1``b` Unicode `98`

`charCodeAt` Unicode 

```javascript
'abc'.charCodeAt() // 97
```

`charCodeAt``NaN`

```javascript
'abc'.charCodeAt(-1) // NaN
'abc'.charCodeAt(4) // NaN
```

`charCodeAt` Unicode 655360xFFFF 65536 `charCodeAt``charCodeAt(i)``charCodeAt(i+1)`

### String.prototype.concat()

`concat`

```javascript
var s1 = 'abc';
var s2 = 'def';

s1.concat(s2) // "abcdef"
s1 // "abc"
```



```javascript
'a'.concat('b', 'c') // "abc"
```

`concat`

```javascript
var one = 1;
var two = 2;
var three = '3';

''.concat(one, two, three) // "123"
one + two + three // "33"
```

`concat`

### String.prototype.slice()

`slice`

```javascript
'JavaScript'.slice(0, 4) // "Java"
```



```javascript
'JavaScript'.slice(4) // "Script"
```



```javascript
'JavaScript'.slice(-6) // "Script"
'JavaScript'.slice(0, -6) // "Java"
'JavaScript'.slice(-2, -1) // "p"
```

`slice`

```javascript
'JavaScript'.slice(2, 1) // ""
```

### String.prototype.substring()

`substring``slice`

```javascript
'JavaScript'.substring(0, 4) // "Java"
```



```javascript
'JavaScript'.substring(4) // "Script"
```

`substring`

```javascript
'JavaScript'.substring(10, 4) // "Script"
// 
'JavaScript'.substring(4, 10) // "Script"
```

`substring`

`substring`0

```javascript
'JavaScript'.substring(-3) // "JavaScript"
'JavaScript'.substring(4, -3) // "Java"
```

`-3``0``'JavaScript'.substring(4, 0)``Java`

`substring``slice`

### String.prototype.substr()

`substr``slice``substring`

`substr`0

```javascript
'JavaScript'.substr(4, 6) // "Script"
```



```javascript
'JavaScript'.substr(4) // "Script"
```

0

```javascript
'JavaScript'.substr(-6) // "Script"
'JavaScript'.substr(4, -1) // ""
```

`-1``0``0`

### String.prototype.indexOf()String.prototype.lastIndexOf()

`indexOf``-1`

```javascript
'hello world'.indexOf('o') // 4
'JavaScript'.indexOf('script') // -1
```

`indexOf`

```javascript
'hello world'.indexOf('o', 6) // 7
```

`lastIndexOf``indexOf``lastIndexOf``indexOf`

```javascript
'hello world'.lastIndexOf('o') // 7
```

`lastIndexOf`

```javascript
'hello world'.lastIndexOf('o', 6) // 4
```

### String.prototype.trim()

`trim`

```javascript
'  hello world  '.trim()
// "hello world"
```

`\t``\v``\n``\r`

```javascript
'\r\nabc \t'.trim() // 'abc'
```

### String.prototype.toLowerCase()String.prototype.toUpperCase()

`toLowerCase``toUpperCase`

```javascript
'Hello World'.toLowerCase()
// "hello world"

'Hello World'.toUpperCase()
// "HELLO WORLD"
```

### String.prototype.match()

`match``null`

```javascript
'cat, bat, sat, fat'.match('at') // ["at"]
'cat, bat, sat, fat'.match('xt') // null
```

`index``input`

```javascript
var matches = 'cat, bat, sat, fat'.match('at');
matches.index // 1
matches.input // "cat, bat, sat, fat"
```

`match`

### String.prototype.search()String.prototype.replace()

`search``match``-1`

```javascript
'cat, bat, sat, fat'.search('at') // 1
```

`search`

`replace``g`

```javascript
'aaa'.replace('a', 'b') // "baa"
```

`replace`

### String.prototype.split()

`split`

```javascript
'a|b|c'.split('|') // ["a", "b", "c"]
```



```javascript
'a|b|c'.split('') // ["a", "|", "b", "|", "c"]
```



```javascript
'a|b|c'.split() // ["a|b|c"]
```



```javascript
'a||c'.split('|') // ['a', '', 'c']
```



```javascript
'|b|c'.split('|') // ["", "b", "c"]
'a|b|'.split('|') // ["a", "b", ""]
```

`split`

```javascript
'a|b|c'.split('|', 0) // []
'a|b|c'.split('|', 1) // ["a"]
'a|b|c'.split('|', 2) // ["a", "b"]
'a|b|c'.split('|', 3) // ["a", "b", "c"]
'a|b|c'.split('|', 4) // ["a", "b", "c"]
```

`split`

`split`

### String.prototype.localeCompare()

`localeCompare`000

```javascript
'apple'.localeCompare('banana') // -1
'apple'.localeCompare('apple') // 0
```



```javascript
'B' > 'a' // false
```

`B``a` JavaScript  Unicode `B`66`a`97

`localeCompare``B``a`

```javascript
'B'.localeCompare('a') // 1
```

`localeCompare`1`B`

`localeCompare`

```javascript
''.localeCompare('z', 'de') // -1
''.localeCompare('z', 'sv') // 1
```

`de``sv````z``-1````z``1`

## 

- Ariya Hidayat, [JavaScript String: substring, substr, slice](http://ariya.ofilabs.com/2014/02/javascript-string-substring-substr-slice.html)

Web Proxy Viewer  |  New URL  |  Original Page