본문 바로가기

JavaScript

(16)
다양한 메소드 indexOf / lastIndexOf - 찾고자 하는 값과 정확히 일치하는 첫 번째 요소의 인덱스를 반환 - lastIndexOf는 배열의 끝에서부터 검색 - 일치하는 값을 찾지 못하면 -1을 반환 find / findIndex - 콜백함수를 넣어서 검색 조건을 지정할 수 있다는 장점. - find는 조건에 맞는 요소를 반환. 조건에 맞는 요소가 없으면 undefined 반환 - findIndex는 조건에 맞는 요소의 인덱스를 반환. 조건에 맞는 요소가 없으면 -1 반환 some / every - 조건에 만족하는 요소가 있는지 없는지만 알면 충분할 때 true, false 반환. - some : 조건에 맞는 요소가 하나라도 있으면 true. - every : 모든 요소가 조건에 맞으면 true. for..
함수 자바스크립트 함수는 반드시 return값이 존재하며, 없을때는 기본 반환값인 'undefined'이 반환된다. 함수 선언식 function 함수명() { 구현 로직 } // 예시 function test(){ console.log("함수 선언식"); } test(); // '함수 선언식' 출력 함수 표현식 var 함수명 = function(){ 구현 로직 }; // 예시 const test = function(){ console.log("함수표현식"); } test(); // '함수표현식' 출력 함수 선언식과 함수 표현식 차이점 함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다. hoisting(호이스팅): 자바스크립트 함수는 실행되기 전에 함수안에 필요한 변수값들을 ..
객체탐색과 배열탐색 객체탐색 const obj = {key : "KimJye", children : [{name:"ruby"},{age:24}]}; for - in for(key in obj){ console.log(obj[key]); } Object.keys() Object.keys(obj); // ['key', 'children'] Object.keys()와 배열메서드(forEach) Object.keys(obj).forEach(v=>{console.log(obj[v])}); // KimJye \n [{name : 'ruby' }, { age: 24 } ] Object.values() var obj = { foo: 'bar', baz: 42 }; console.log(Object.values(obj)); // ['bar..
변수 선언 var, let, const var로 선언된 변수의 scope var 를 쓰지 않으면 전역변수가 된다. var 를 전역공간에 쓰면 전역변수다. var 를 함수안에서 사용하면 함수안에서만 유효하다 (함수단위의 변수 유효범위를 갖는 것) var name = 'var variable'; function test() { var testName = 'my test'; console.log(name); //var variable console.log(homeName); //my test } test(); 블럭단위의 scope ES2016에서는 const나 let 키워드를 사용해서 변수를 선언하면 Block({})단위의 scope를 만들 수 있다. Block단위로 사용할때는 const나 let을 사용하는 것을 권장...
jest 테스트코드
Promise 콜백 함수 function greeting(name) { console.log("Hello " + name); } function processUserInput(callback) { var name = "Please enter your name."; callback(name); } processUserInput(greeting); // Hello Please enter your name 콜백 지옥 피라미드 doSomething(function(result) { doSomethingElse(result, function(newResult) { doThirdThing(newResult, function(finalResult) { console.log('Got the final result: ' + final..
generator function Generator 개념 - generator function으로부터 반환된 값이며 반복자와 반복자 프로토콜을 준수한다. function* gen() { yield 1; yield 2; yield 3; } var g = gen(); // "Generator { }" 메서드 - Generator.prototype.next(); // yield 표현을 통해 yield된 값을 반환한다. - Generator.prototype.return(); // 주어진 값을 반환하고 생성기를 종료한다. - Generator.prototype.throw(); // 생성기로 에러를 throw 한다. yield 개념 - 제너레이터 함수를 중지하거나 재개하는데 사용된다. - return처럼 함수를 종료한다. 다만 함수를 재호출(ne..
데이터 변수와 상수 let tempC; // let tempC = undefined; 와 같다. const ROOM_TEMP_C = 21.5; // 상수 이름에는 보통 대문자와 밑줄만 사용한다. 될 수 있으면 변수보다 상수를 써야 한다. 원시 타입 - 숫자, 문자, 불리언, null, undefined, 심볼 객체 타입 - Number, String, Boolean, Array, Date, RegExp, Map과 WeakMap, Set과 WeakSet. 숫자와 문자열 const result1 = 3 + '30'; // 3이 문자열로 바뀐다. 결과는 문자열 '330'이다. const result2 = 3 * '30; // '30'이 숫자로 바뀐다. 결과는 숫자 90이다. 심볼 유일한 토큰을 나타냄. 항상 유일하다..