본문 바로가기
728x90
반응형

Javascript12

[JS] forEach에서 비동기 함수 사용 금지! 상황 forEach 함수를 이용하여 배열 안에 있는 id로 axios를 사용할 생각이었습니다. 하지만 아무리 해도 원하는 상태값이 되지 않는 것이었습니다. 위와 같이 postmam으로 실행했을 때 해당 API 결과 값으로 빈 배열이 나옵니다. 원래였다면 아래에 있는 1, 2라는 숫자를 담아져 있는 [1, 2]가 나와야 했습니다. 원인 이유는 바로 forEach 함수는 콜백 함수로 비동기 함수를 받더라도 실행을 기다려주지 않는다고 합니다! Javascript 공식문서에 적혀있는데 역시 공식문서로 정보를 확인해야 합니다. 공식문서 바로가기 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEac.. 2022. 9. 29.
[JS/문법] 비구조화 할당(구조분해) const object = { a: 1, b: 2 }; const { a, b } = object; 리액트를 배우면서 가장 신기했던 문법이 비구조화 할당 문법이었습니다. 비구조화 할당 문법을 사용하면 객체 안에 있는 값을 추출해서 변수 혹은 상수로 바로 선언해줄 수 있습니다 ❗️ const object = { a: 1, b: 2 }; function print(props) { console.log(props.a); // 1 console.log(props['b']); // 2 } 본래 비구조화 할당 문법을 몰랐을때는 위 코드처럼 파라미터를 사용했습니다. 인제 객체에 접근해서 값을 가져올때 . 혹은 [ ] 대신 비구조화 할당으로 바로 가져올 수 있습니다. const object = { a: 1, b: 2 .. 2022. 8. 1.
[ES6] var, let, const 차이점 var var name = 'nime'; console.log(name); 자바스크립트에서 변수를 선언할 때 사용하는 방법 중 하나이다. var를 사용했을 때 발생하는 문제점 var num = 10; if (num == 10) { var num = 20; console.log("num in if : ", num); // num in if : 20 } console.log(num); // 20 하지만 var를 사용하여 변수를 선언해주면 위 코드처럼 if문 안에서 변경이 된 게 밖에서도 영향을 미친다. ES6부터는 구분하기 위해 scope라는 개념이 추가된 let이 등장하게 된다. 📌 scope(유효범위)란? 변수에 접근할 수 있는 범위이다. 전역 스코프는 전역에 선역되어있는 어느 곳이든 해당 변수에 접근 .. 2022. 1. 31.
728x90
반응형