EcmaScript5 톺아보기

kim yeseul·2024년 2월 14일
0

Javascript

목록 보기
8/8
post-thumbnail

Javascript ES5

🌟 String

- charAt()

문자열의 지정된 인덱스(위치)에 있는 문자를 반환합니다.

var str = 'hello world';
str.chatAt(0); // returns h

ES5에서는 문자열에 대한 속성 액세스를 허용합니다.

var str = 'hello world';
str[0]; // returns h

- Strings Over Multiple Lines

\ (backslash)로 이스케이프된 경우 여러 줄에 걸쳐 문자열 리터럴을 허용합니다.

<script>
document.getElementById("demo").innerHTML = "Hello \
Dolly!";
</script>

<script>
document.getElementById("demo").innerHTML = "Hello \
Dolly!
ㅋ";
</script> // 아무것도 리턴해주지 않음

- 속성명으로 예약어를 허용합니다다.

var obj = {name: "John", new: "yes"}

- trim()

trim() 메서드는 양쪽 빈 공백을 제거합니다.

var str = "       Hello World!        ";
alert(str.trim()); // Hello World!
str.trim().length; // return 12

🌟 Array

- Array.isArray()

Array.isArray() 정적 메서드는 전달된 값이 Array인지 판단합니다. (배열이라면 true를 아니라면 false를 반환합니다.)

function myFunction() {
  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x = document.getElementById("demo");
  x.innerHTML = Array.isArray(fruits);
}

- forEach()

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()

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()

filter() 메서드는 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 한다.

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value) {
  return value > 18;
}

// [45, 25]

- reduce()

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()

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()

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()

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()

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

- lastIndexOf()

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

- JSON.parse()

JSON의 일반적인 용도는 웹 서버에서 데이터를 수신하는 것입니다. 웹 서버로부터 다음 텍스트 문자열을 받았다고 가정해 보겠습니다.

'{"name":"John", "age":30, "city":"New York"}'

JSON.parse() 메서드는 JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript값이나 객체로 변환하는 데 사용됩니다.

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.stringify()

JSON의 일반적인 용도는 웹 서버에 데이터를 보내는 것입니다. 웹 서버에 데이터를 보낼 때 데이터는 문자열이어야 합니다. JavaScript에 다음 객체가 있다고 가정해 보겠습니다.

var obj = {name:"John", age:30, city:"New York"};

JSON.stringify() 메서드는 JavaScript 값이나 객체를 JSON 문자열로 변환합니다.

var myJSON = JSON.stringify(obj);

myJSON은 이제 문자열이며 서버로 보낼 준비가 되었습니다.

var obj = {name:"John", age:30, city:"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

🌟 Date

- Date.now()

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()

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()

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

profile
출발선 앞의 준비된 마음가짐, 떨림, 설렘을 가진 주니어 개발자

0개의 댓글