Array.isArray() 찍어봐도 false라고 나온다. 그래서 forEach() 같은게 먹히지 않는다. index값으로 접근하여 반복문을 사용할 수 있는건 array-like한 콜렉션이라서 특별히 해주는거라고.Array.from(array-like collecti
When to use forEach?.forEach() is great you need to execute a function for each individual element in an array. Good practice is that you should use .
자바스크립트는 내가 배운 첫번째 프로그래밍 언어다. 다른 것들은 맛 정도 보고 있고, 타입스크립트도 타입 정의하고 타입가드를 활용하는 정도니 다룰 수 있는 유일한 언어라고 할 수 있다. 하지만 자바스크립트에 관한 나의 지식은 파편하 되어있다. 여기서 조금, 저기서 조
하나. breakpoint설정두울. debugger statement활용세엣. pause on exceptions버튼 활용(일시정지 간판처럼 생긴거)pause on exceptions버튼은 오류 직전에 끊어주니까 특히 유용할 것 같다. 단, 이것들 모두 개발자도구가 켜
때때로 어떤 객체가 특정 property를 갖고 있는지를 조건으로 삼는 경우가 있다. 내 경우에는 따로 알아볼 것도 없이 같은 방식으로 확인했다. 물론 이런 방식은 해당 key가 있든 없든 할당 된 값이 없다면 무조건 만족해버린다는 점에서 불분명하다는 단점이 있다. 하
1. Methods of primitives 원시타입의 메소드라니 어불성설인 것 같다. 그러나 자바스크립트는 가능하다! 예를들어, 이렇게 보면 객체인 것도 같다. 그러나 원시타입 맞다. 반례로 객체라면 무언가 할당 할 수도 있겠지만 그것은 가능하지 않다.(stri
나는 이제 동기와 비동기가 뭔지 헷갈리는 와아아아아앙-초보는 아니다. 근데 이전에는 이것 때문에 짜증이 많이 났었다. 무슨 글을 읽어봐도 다 비슷한 똑같은 소리를 하는데 하나같이 말 자체가 이해가 안됐다.(물론 와아아아앙-초보라서 이해를 못한것이지 좋은 글들이었을 것이
자바스크립트 다시 한번 꼼꼼히 다지던 중 구조분해 할당 파트에서 아주 좋은 내용을 읽었다. 똑똑한 매개변수 사용이라.. 단순히 함수를 실행할 때 보다도 리액트 생각이 번뜩 났다. 리액트 프로젝트를 완성 해 갈수록 컴포넌트간에 넘겨 주는 props는 점점 지저분해지곤
1. 재귀함수는 반복문으로 대체될 수 있고, 보통 더 적은 execution context를 가진 반복문이 메모리도 덜 사용한다. 그러나 메모리의 효율성을 따지는 것 보다 개발 효율성을 따지는 것이 경제적인 경우도 많다. 최적화를 위한 비용을 들일만한 가치가 있는지
시작하기에 앞서 아래의 내용은 const 또는 let 으로 선언된 변수를 상정한다. 고전적인 방법 var 로 선언된 변수의 경우는 다르다.{ ... } 코드블럭 내에서 선언된 변수는 그 안에서만 존재한다. 해당 코드블럭 밖에서는 참조 할 수 없는 것이다. 함수 또한 마
configuration은 리눅스 운영체제를 처음 접했을 때 때 참 많이 마주치던 단어다. 객체의 속성도 configure-able 하다니..일반적으로는 드러나지 않지만, 객체의 속성에는 3가지 설정사항이 있다. 이것들을 flags라고 부른다.세 가지 모두 기본값은 t
객체에는 숨겨진 속성인 \[\[Prototype]]이 존재한다. 이것은 null 또는 다른 객체(이것을 prototype이라고 부른다.)를 참조하고 있다.closure가 어떤 변수를 찾아 outer lexical environment들로 탐색 해 나가는 것 처럼, 객체
내가 드디어 클래스를 다루는구나!내가 지금까지 크고 작은 JS프로젝트만 10개도 넘게 만들었다만, 객체지향이니 클래스니 이런거 한번도 제대로 파보지 않았다. 왜냐? 없어도 만들고 싶은거 만들 수 있었으니까. 물론 내 기준에 조금 복잡한 웹 어플리케이션을 만들어보면서,
당연히 try ... catch(err)를 사용한다. catch 블럭에 인자로 들어오는 놈은 built-in error 객체인데, 아래와같은 속성을 가졌다.반드시 포함 돼 있다. \- name : error객체의 constructor \- message 필수는
1. 엄밀히 말하면, new Promise().then()은 Promise 객체를 반환하지 않는다. promise chaining이라고, promise객체에 .then() 메소드를 계속 갖다 쓸 수 있다. 따로 공부하지 않아도 .then() 이놈이 똑같이 promis
1. 다수의 값을 리턴하는 함수 generator 생성하는 문법은 간단하다. 실행하는 방법은 좀 다르다. 그냥 recordSaving() 처럼 실행하면 이것은 generator Object를 리턴한다. 리턴 된 이놈은 iterable하다. 즉, next() 메소드를
그래서 매번 새로운(신선한) 값을 얻기 위해서는 함수를 export 해 줘야 하는 것이다. 귀찮다면 귀찮은 특성이지만, 좋게 생각하면 내가 한번 실행 뭔가를 기억해준다는 것이기도 하다. 예를들어 어플리케이션의 시작과 함께 configuration을 설정하면 이후 어디에
1. Proxy new Proxy(any-element, {...traps...})의 형태다. 첫번째 인자인 any-element를 wrapping 해 주는데, 뒤에 오는 traps에서는 해당 객체의 내장(built-in) 기능들을 재 정의 할 수 있다.(정확히는 i
직관적인 표현인 this를 거의 사용 해 보지 않았다. 리액트에서 클래스 컴포넌트가 아직 대세일 때 정도? 개인적으로 그 기간도 매우 짧았다.오늘 걸어오면서 별코딩이라는 유투브 채널에서 올린 관련 영상을 들었다. 이번 기회에 조금 정리를 해 본다.함수 선언식 vs 함수