Study/JavaScript

    [JavaScript_study] 배열 메소드2 (sort, reduce)

    * arr.sort() > 배열 재정렬 > 배열 자체가 변경되니 주의 > 인수로 정렬 로직을 담은 함수를 받음 (* Lodash 라이브러리를 이용하면 코드한줄로 가능) let arr = [1, 5, 4, 2, 3] arr.sort(); console.log(arr); // [1, 2, 3, 4, 5] let arr2 = ['a', 'c', 'd', 'e', 'b']; arr2.sort(); console.log(arr2) // ['a', 'b', 'c', 'd', 'e'] > 인수로 정렬 로직을 담은 함수를 받는 예시 코드 let arr = [27, 8, 5, 13]; function fn(a, b) { return a - b; } arr.sort(fn); console.log(arr); // [5, 8..

    [JavaScript_study] 배열 메소드1 (Array methods)

    push() : 뒤에 삽입 pop() : 뒤에 삭제 unshift() : 앞에 삽입 shift() : 앞에 삭제 * arr.splice(n, m) : 특정 요소 지움 // n : 시작, m : 개수 let arr = [1, 2, 3, 4, 5]; arr.splice(1,2); console.log(arr); // [1, 4, 5] * arr.splice(n, m , x) : 특정 요소 지우고 추가 let arr = [1, 2, 3, 4, 5] arr.splice(1, 3, 100, 200); console.log(arr); // [1, 100, 200, 5] let arr = ["나는", "철수", "입니다"]; arr.splice(1, 0, "대한민국", "소방관"); console.log(arr) /..

    [JavaScript_study] 문자열 메소드(String methods)

    * str.indexOf(text) (주의) 찾는 문자가 여러개여도 첫번째 문자만 반환한다. let desc = "Hi guys. Nice to meet you."; desc.indexOf('to'); // 14 desc.indexOf('man'); // -1 // 찾는 문자가 없으면 -1을 반환한다. // -1보다 크다는 조건을 넣지않으면 Hi의 index가 0이므로 if에서 0은 false이므로 // 아래의 console은 작동하지 않는다. if(desc.indexOf("Hi") > -1) { console.log("Hi가 포함된 문장입니다.") } * str.slice(n, m) // n : 시작점 // m : 1. 없으면 문자역 끝까지 2. 양수면 그 숫자까지(포함하지 않음) 3. 음수면 끝에서부..

    [JavaScript_study] 숫자, 수학 method (Number, Math)

    * toString() 10진수 -> 2진수 / 16진수 let num = 10; num.toString(); // "10" num.toString(2); // "1010" let num2 = 255; num2.toString(16); // "ff" console.log(Math.PI); // 3.141592653589793 * isNaN() // NaN인자 아닌지는 isNaN으로만 확인이 가능하다. let x = Number('x'); // NaN x == NaN // false x === NaN // false NaN == NaN // false // NaN은 자기자신과도 같지 않다고 한다. isNaN(x) // true isNaN(3) // false * parserInt() // parseInt는..

    [JavaScript_study] Symbol

    * Symbol은 유일한 식별자를 만들때 사용한다. (유일성보장) 특정객체에 원본데이터는 건들지않고 속성을 추가할 수 있다. const a = Symbol(); // new를 붙이지 않는다. const b = Symbol(); console.log(a) // Symbol() console.log(b) // Symbol() a === b; // false a == b; // false const id = Symbol('id'); const id = Symbol('id'); id // Symbol(id) id2 // Symbol(id) id === id2 // false id == id2 // false // 원본객체를 건들지 않고 객체를 추가가능하다. const user = { name : 'Mike', ..

    [JavaScript_study] Object - methods / Computed property

    * Computed property (계산된 프로퍼티) let a = 'age'; const user = { name : 'Mike', age : 30 } // 아래와 같이 사용 가능하다. let a = 'age'; const user = { name : 'Mike', [a]: 30 // age : 30 } const user = { [1 + 4] : 5, ["안녕" + "하세요"] : "Hello" } user // {5: 5, 안녕하세요: "Hello"} * Methods Object.assign() : 객체 복제 * 빈 객체에 Object.assign() const user = { name : "Mike", age : 30 } // 잘못된 복제 방법 // 객체가 복사되면서 들어가는게 아니라 그 참조..