문자열의 지정된 인덱스(위치)에 있는 문자를 반환합니다.
var str = 'hello world';
str.chatAt(0); // returns h
ES5에서는 문자열에 대한 속성 액세스를 허용합니다.
var str = 'hello world';
str[0]; // returns h
\ (backslash)로 이스케이프된 경우 여러 줄에 걸쳐 문자열 리터럴을 허용합니다.
<script>
document.getElementById("demo").innerHTML = "Hello \
Dolly!";
</script>
<script>
document.getElementById("demo").innerHTML = "Hello \
Dolly!
ㅋ";
</script> // 아무것도 리턴해주지 않음
var obj = {name: "John", new: "yes"}
trim() 메서드는 양쪽 빈 공백을 제거합니다.
var str = " Hello World! ";
alert(str.trim()); // Hello World!
str.trim().length; // return 12
Array.isArray() 정적 메서드는 전달된 값이 Array인지 판단합니다. (배열이라면 true를 아니라면 false를 반환합니다.)
function myFunction() {
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = document.getElementById("demo");
x.innerHTML = Array.isArray(fruits);
}
forEach() 메서드는 순회 메서드입니다. 이 메서드는 배열의 각 요소에 대해 제공된 callbackFn 함수를 오름차순 인덱스 순서로 한 번씩 호출합니다.
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
txt = txt + value + "<br>";
}
/*
45
4
9
16
25
*/
map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
return value * 2;
}
// [90, 8, 18, 32, 50]
filter() 메서드는 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 한다.
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
return value > 18;
}
// [45, 25]
reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환한다.
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
return total + value;
}
// 99 (45 + 4 + 9 + 16 + 25)
reduceRight() 메서드는 근본적으로 reduce()와 같은 기능을 합니다. 차이점은 배열의 끝에서부터 시작합니다.
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
return total + value;
}
// 99 (25 + 16 + 9 + 4 + 45)
const array1 = [
[0, 1],
[2, 3],
[4, 5],
];
const result = array1.reduceRight((accumulator, currentValue) =>
accumulator.concat(currentValue),
);
console.log(result);
// Expected output: Array [4, 5, 2, 3, 0, 1]
every() 메서드는 배열의 모든 요소가 제공된 함수로 구현된 테스트를 통과하는지 테스트합니다. 이 메서드는 불리언 값을 반환합니다.
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
return value > 18;
}
// Expected output: false
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// Expected output: true
some() 메서드는 배열 안의 어떤 요소라도 주어진 판별 함수를 적어도 하나라도 통과하는지 테스트합니다. 만약 배열에서 주어진 함수가 true을 반환하면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 이 메서드는 배열을 변경하지 않습니다.
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
return value > 18;
}
// Expected output: true
const array = [1, 2, 3, 4, 5];
// Checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// Expected output: true
indexOf() 메서드는 배열에서 주어진 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고, 찾을 수 없는 경우 -1을 반환합니다.
const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
// 두 번째 매개변수가 없다면 0번 인덱스부터 탐색한다.
console.log(beasts.indexOf('bison'));
// Expected output: 1
// Start from index 2 (2번 인덱스부터 탐색한다)
console.log(beasts.indexOf('bison', 2));
// Expected output: 4
console.log(beasts.indexOf('giraffe'));
// Expected output: -1
indexOf() 메서드와 동일하나 역순으로 탐색합니다. 찾을 수 없는 경우도 -1을 반환합니다.
const paragraph = "I think Ruth's dog is cuter than your dog!";
const searchTerm = 'dog';
console.log(
`Index of the last ${searchTerm} is ${paragraph.lastIndexOf(searchTerm)}`,
);
// Expected output: "Index of the last "dog" is 38"
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
console.log(a);
// Expected output: 2
JSON의 일반적인 용도는 웹 서버에서 데이터를 수신하는 것입니다. 웹 서버로부터 다음 텍스트 문자열을 받았다고 가정해 보겠습니다.
'{"name":"John", "age":30, "city":"New York"}'
var obj = JSON.parse('{"name":"John", "age":30, "city":"New York"}');
console.log(obj); // {name: 'John', age: 30, city: 'New York'}
const json = '{"result":true, "count":42}';
const obj = JSON.parse(json);
console.log(obj.count);
// Expected output: 42
console.log(obj.result);
// Expected output: true
JSON의 일반적인 용도는 웹 서버에 데이터를 보내는 것입니다. 웹 서버에 데이터를 보낼 때 데이터는 문자열이어야 합니다. JavaScript에 다음 객체가 있다고 가정해 보겠습니다.
var obj = {name:"John", age:30, city:"New York"};
var myJSON = JSON.stringify(obj);
var obj = {name:"John", age:30, city:"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
Date.now() 메소드는 UTC 기준으로 1970년 1월 1일 0시 0분 0초부터 현재까지 경과된 밀리초를 반환합니다.
// This example takes 2 seconds to run
const start = Date.now();
console.log('starting timer...');
// Expected output: "starting timer..."
setTimeout(() => {
const millis = Date.now() - start;
console.log(`seconds elapsed = ${Math.floor(millis / 1000)}`);
// Expected output: "seconds elapsed = 2"
}, 2000);
toISOString() 메서드는 Date 형태 값을 string으로 바꿔줍니다. 반환값은 언제나 24글자 또는 27글자(각각 YYYY-MM-DDTHH:mm:ss.sssZ 또는 ±YYYYYY-MM-DDTHH:mm:ss.sssZ)입니다.시간대는 언제나 UTC이며 접미어 Z로 표현합니다.
const event = new Date('05 October 2011 14:48 UTC');
console.log(event.toString());
// Expected output: "Wed Oct 05 2011 16:48:00 GMT+0200 (CEST)"
// Note: your timezone may vary
console.log(event.toISOString());
// Expected output: "2011-10-05T14:48:00.000Z"
toJSON() 메서드는 Date 객체의 문자열 표현을 반환합니다. YYYY-MM-DDTHH:mm:ss.sssZ:
const event = new Date('August 19, 1975 23:15:30 UTC');
const jsonDate = event.toJSON();
console.log(jsonDate);
// Expected output: "1975-08-19T23:15:30.000Z"
https://developer.mozilla.org/ko/
https://www.w3schools.com/js/js_es5.asp#mark_array_map