JS

    [Javascript] for, foreach

    알고리즘 문제를 풀던 중 다른 분 코드에서 foreach의 사용을 보게 되었다. foreach의 존재는 알지만 for문이 익숙하다보니 foreach는 사용하지 않게 되었는데 이번 기회에 차이를 다시 한번 정리하며 어떤 문법을 사용하는것이 편한지 공부 하고자 한다. for문 const wires = [[1,2],[2,3],[3,4]] for (let i = 0; i < wires.length; i++) { let wire = wires[i]; let node1 = wire[0]; let node2 = wire[1]; tree[node1].push(node2); tree[node2].push(node1); } for (let i = 0; i < wires.length; i++) { let wire = wir..

    [js] toFixed() 메서드

    toFixed() 메서드 숫자를 고정 소수점 표기법(fixed-point-notation)으로 표시 Number 인스턴스의 소수 부분 자릿수를 전달받은 값으로 고정한 후, 그 값을 문자열로 반환 function financial(x) { return Number.parseFloat(x).toFixed(2); } console.log(financial(123.456)); // Expected output: "123.46" console.log(financial(0.004)); // Expected output: "0.00" console.log(financial('1.23e+5')); // Expected output: "123000.00" 구문 numObj.toFixed([소수 부분의 자릿수]) 매개변수..

    [JS] 배열의 순서 (sort()메서드, reverse() 메서드)

    sort() 메서드 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환 const months = ['March', 'Jan', 'Feb', 'Dec']; months.sort(); console.log(months); // ["Dec", "Feb", "Jan", "March"] const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); // [1, 100000, 21, 30, 4] 구문 arr.sort([compareFunction]) 파라미터(compareFunction) 정렬 순서를 정의하는 함수 이 값이 생략되면, 배열의 element들은 문자열로 취급되어, 유니코드 값 순서대로 정렬 compareFunction(a, ..

    [JS]BigInt

    BigInt Number 원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표현할 수 있는 내장 객체 const alsoHuge = BigInt(9007199254740991); // ↪ 9007199254740991n const hugeString = BigInt("9007199254740991"); // ↪ 9007199254740991n const hugeHex = BigInt("0x1fffffffffffff"); // ↪ 9007199254740991n const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111"); // ↪ 9007199254740991n BigInt Number 내장 ..

    [JS] == , === 차이점

    Q. 알고리즘 문제를 푸는데 본인은 항상 "===" 을 사용했는데 한 문제에서 다른 사람들의 코드를 보니 "==" 을 사용된 것을 보고 두 문자의 차이가 궁금해짐 == 연산자 == 연산자는 두 피연산자의 값의 타입이 다를 경우 자동으로 일부 피연산자의 타입을 변환 후 값을 비교 타입을 비교하지 않으므로 ===연산자에 비해 느슨함 123 == 123 // true 123 == '123' // true, 문자열을 숫자로 변환 후 값을 비교 true == 1 // true, 두 피연산자에서 불리언 값이 존재하면, 불리언 값을 1로 변환 후 값을 비교 true == '1' // true, 불리언 값을 1로 변환 후 문자열 '1'을 숫자로 변환 후 값 비교 true == 'true' // false, 불리언 값을..

    [JS] 배열 특정 값 포함 여부(includes, indexOf, some, every)

    1. includes() includes() 메서드는 특정 문자열이 어떤 문자열에 포함되어 있는지 판별 결과를 true 또는 false로 반환 구문 str.includes(searchString) str.includes(searchString, position) 매개변수 searchString 찾으려는 문자열 position (선택사항) 문자열에서 찾기 시작하는 위치를 나타내는 index 값 기본값은 0이며, 문자열 전체에서 찾게 된다. 반환값 searchString이 있으면 true, 없으면 false이다. let ice = ['예은', '지수', '희수', '서아', '수진', '예지']; let friend = ['수민', '인정', '민송']; ice.includes('예은') // true fr..

    [JS] 배열에서 특정 값의 개수 구하기

    배열(Array) 1. for문 ▶ 가장 기본적으로 배열의 모든 요소를 순회하며 특정 값이 있을 경우 count를 증가시킴 const arr = ['A', 'B', 'B', 'C', 'D' ]; let count = 0; for(let i = 0; i { if ..

    [JS] Templete Literal : 백틱(``), 달러(${})

    Template Literal (템플릿 리터럴) ES6부터 새로 도입된 문자열 표기법 내장된 표현식을 허용하는 문자열 리터럴 문자열 생성 시 따옴표 대신, 백틱(``)을 사용 var str = `Hello World!`; console.log(str); [출력결과] Hello World! 템플릿 리터럴을 사용하는 이유 1. 줄바꿈(개행) 백틱(`)으로 템플릿 리터럴을 사용하면, 개행문자(' \n ') 없이도 줄바꿈 가능 var str = ` hello! world! JavaScript! very good`; console.log(str); [출력결과] hello! world! JavaScript! very good 2. 표현식 삽입 ES6 이전의 따옴표 방식에서는, + 연산자를 이용 백틱(` `)안에 달..

    [JS] Javascript 이론 (1)

    변수 선언 var var i; // 선언, "undefined"가 저장됨 var sum = 0; // 선언과 초기화 var i, sum; // 한 번에 여러 개의 변수를 함께 선언할 수 있음 var i=0, sum=10, message=”Hello”; // 선언과 초기화를 동시에 해줄 수 있음 name = "javascript"; // 선언되지 않은 변수는 전역 변수가 됨 var문에서 변수에 초기 값을 지정하지 않는다면, 변수는 값이 설정될 때까지 undefined 값을 갖게 된다. hosting 자바스크립트 코드는 함수 안에 있는 모든 변수를 함수 맨 꼭대기로 끌어올린 것처럼 동작한다. var scope = “global”; function f() { console.log(scope); //"undef..

    [JS] join() 메서드

    join() 메서드 배열의 모든 요소를 연결해 하나의 문자열로 만듦 const elements = ['js', 'hufs', 'yeeun']; console.log(elements.join()); // js,hufs,yeeun console.log(elements.join('')); // jshufsyeeun console.log(elements.join('-')); // js-hufs-yeeun 구문 arr.join([separator]) 매개변수(separator) 배열의 각 요소를 구분할 문자열 생략시 배열의 요소들이 쉼표로 구분됨 반환 값 배열의 모든 요소들을 연결한 하나의 문자열을 반환 arr.length가 0인 경우, 빈 문자열 반환

    [JS] Math 객체

    Math 수학에서 자주 사용하는 상수와 함수를 위한 속성과 메소드를 가진 내장 객체 함수 객체가 아님 Number 자료형만 지원하며 BigInt와는 사용 불가능 생성자가 존재하지 않아서 따로 인스턴스를 생성하지 않더라도 Math 객체의 모든 method나 property를 바로 사용 가능 [가장 많이 사용되는 대표적인 Math 메소드] Math.min(x, y, z...) 가장 작은 값을 반환 Math.max(x, y, z...) 가장 큰 값 반환 Math.random() 0보다 크거나 같고 1보다 작은 무작위 숫자 반환 Math.round(x) 소수점 첫번째 자리에서 반올림 후 반환 Math.floor(x) 인수와 같거나 작은 수 중에서 가장 큰 정수 반환 Math.ceil(x) 인수와 같거나 큰 수 ..

    [JS] Number vs parseInt

    Q. 알고리즘 문제를 풀며 문자열을 숫자로 바꿀 때 Number을 사용했는데 다른 사람들의 코드를 보며 parseInt도 많이 사용됨을 알았다. 그리고 이 둘의 차이가 궁금했다. Number(str) Number 메서드는 문자열을 인자로 받으면 해당 문자열을 숫자로 바꿔줌 const number = Number("12345"); // 12345 문자열이 숫자가 아닌 경우 num에는 NaN이 저장됨 const price = Number('1000원'); // NaN 소수점은 모두 표시되며, 숫자형으로 바뀜 const num = Number('12.345'); // 12.345 parseInt(str) Number(str)와 동일하게 문자열을 인자로 받으면 해당 문자열을 숫자로 바꿔줌 const number..