본문

[꿀팁] "var"를 쓸지 "let"를 쓸지 고민하는 당신께!! [14]




(120381)
작성일 프로필 열기/닫기
추천 | 조회 1066 | 댓글수 14
글쓰기
|

댓글 | 14
1
 댓글


(IP보기클릭)211.178.***.***

꿀팁추
21.09.12 00:59

(IP보기클릭)175.193.***.***

무조건 const를 쓰시고 변경해야 하는 값이라면 let으로 해주시고 var는 없다고 생각해주세요~
21.09.12 01:27

(IP보기클릭)119.69.***.***

타입스크립트 쓰면 됨?
21.09.12 01:32

(IP보기클릭)112.171.***.***

싼다할아버지
강추. 하지만 전 신입교육시킬 자신없어서 제이쿼리 정도나 쓰고 있지 ㅜㅡ | 21.09.12 01:40 | |

(IP보기클릭)222.109.***.***

일반적인 c++에서는 var 자바스크립트에서는 let
21.09.12 02:25

(IP보기클릭)218.146.***.***

실무에서 var쓰면 코드리뷰때 장난아니죠 ㅎㅎ 요즘 let도 거진 안쓰고 거진 const만 이용해서 재할당 자체를 안하는 식으로 많이 구성하는 것 같네요.
21.09.12 04:05

(IP보기클릭)112.171.***.***

카르아나
다른 언어들도 기본으로 콘스트를 쓰고 필요에 따라 일반변수를 쓰는게 좋지 않냐는 논쟁이 오래전부터 있었습니다. 일반적인 언어에서야 변수의 범위와 생명주기가 명확해서 큰이득을 볼수 없다보니 큰이슈는 아니지만 말이죠.... 근데 자스는 구조상 const를 기본으로 쓰는게 맞지 않나하는 생각을 자주하게 됩니다. (특히 매개변수 받아서 다시 전달할때....하 2차 빡침이... ) | 21.09.12 19:32 | |

(IP보기클릭)122.59.***.***

이거 제가 재대로 이해하고 있나 한번 확인해주세요. 1. var item hoisting 되서 메모리로 들어가고 2. setTimeout 4개 이벤트 루프로 들어가고 3. for loop 4번 다 돌아서 큐스택 클리어 됬을 때 var item에 들어가 있는 숫자는 3. 4. setTimeout 콜백 큐스택으로 돌아간 뒤 실행되서 var 전부 3으로 프린트 되는게 맞나요? hoisting 이란거 처음 들어봐서 읽어봤는데 제대로 이해했는지 잘 모르겠어요.
21.09.12 09:35

(IP보기클릭)116.121.***.***

JSON.parse('B')
var의 경우 스코프가 함수 스코프로 잡히기 때문에 for문 안에서 선언하여도 함수 시작 부분에서 선언한 것과 같은 취급을 받습니다. 그래서 settimeout의 콜백 함수에서 ver로 선언된 변수를 참조할 시 다른 값으로 업데이트 된 값이 출력되는 것입니다. | 21.09.12 15:32 | |

(IP보기클릭)112.171.***.***

JSON.parse('B')
위 예제를 일반적인 언어로 설명하면 var는 참조 변수의 포인터가 전달된 것이고 let는 참조시 가지고 있던 변수의 상태가 전달된것입니다. 여기서 다른 언어와 차이가 보이는것인데... 일반적인 객체지향언어에서는 내부적으로는 포인터로 처리되는 참조 변수여도 범위에 따라 자동으로 당시 상태를 전달해줍니다. (이것도 설명하려면 기니 넘어가죠 ㅋㅋㅋ) 호이스팅을 쉽게 이해하려면 다음코드를 돌려봅시다. (호이스팅은 이현상의 일각일뿐이 함정 ㅋㅋㅋㅋ) function aa() { var a = 0; let b = 20; { var a = 1; let b = 2; console.log("var1 :" + a); console.log("let1 :" + b); } { var a; let b; console.log("var2 :" + a); console.log("let2 :" +b); } console.log("var3 :" + a); console.log("let3 :" +b); } aa(); 스마트한 ide 를 쓰고 있다면 var a;가 이미 선언되있다고 경고가 뜰겁니다. 상식대로라면 "var2 :"는 undefined가 떠야 하지만 그딴거 없습니다. 호이스팅이 함수의 위로 끌어올려서 선언한 효과를 주기 때문에 "var1 :"과 "var2 :"는 같은놈입니다. let는 일반적인 언어와 같은 동작을 보이죠. (그래서 "let3 :"는 선언이 없다고 에러를 뿜는다.) p.s. 수정기능이 없어서 계속 새로 달고 있습니다. 양해를 ㅎㅎㅎ | 21.09.12 18:44 | |

(IP보기클릭)122.59.***.***

_ 오잇스
답변 감사합니다! | 21.09.12 18:45 | |

(IP보기클릭)122.59.***.***

당근천국
방금 돌려봤어요 ㅎ, 답변 감사합니다! | 21.09.12 18:46 | |

(IP보기클릭)1.225.***.***

뭘 고민하세요... 그냥 let/const 씁시다. var는 쓰지 마세요.
21.09.13 00:29

(IP보기클릭)175.207.***.***

헉 udemy에서 수강하는 과목은 var로 진행하던데..!
21.09.22 03:15


1
 댓글



읽을거리
[PS5] 국산 게임의 별로서 기억될 칼, 스텔라 블레이드 (19)
[MULTI] 탐험으로 가득한 사막과 맛있는 메카 전투, 샌드랜드 (4)
[MULTI] 아쉬움 남긴 과거에 보내는 마침표, 백영웅전 리뷰 (35)
[MULTI] 고전 명작 호러의 아쉬운 귀환, 얼론 인 더 다크 리메이크 (17)
[게임툰] 자신만의 용을 찾는 여행, 드래곤즈 도그마 2 (47)
[게임툰] 공주의 변신은 무죄, 프린세스 피치 Showtime! (34)
[NS] 창세기전: 회색의 잔영, 기념사업의 끝 (156)
[MULTI] 개발 편의적 발상이 모든 것을 쥐고 비틀고 흔든다, 별이되어라2 (88)
[NS] 여아들을 위한 감성 영웅담, 프린세스 피치 Showtime! (49)
[게임툰] 해방군은 왜 여자 뿐이냐? 유니콘 오버로드 (126)
[MULTI] 진정한 코옵으로 돌아온 형제, 브라더스: 두 아들의 이야기 RE (12)
[MULTI] 모험의 과정이 각별한 경험으로 맺어질 때, 드래곤즈 도그마 2 (52)



ID 구분 제목 글쓴이 추천 조회 날짜
118 전체공지 업데이트 내역 / 버튜버 방송 일정 8[RULIWEB] 2023.08.08
1348 꿀팁 루리웹에 코드 블럭을 올려 보자.upload _ 오잇스 3 861 2021.09.11
1313 꿀팁 자바스크립트 프로젝트 개발용 IDE를 알아 보자.araboza (6) _ 오잇스 3 1168 2021.09.06
1312 공지 자바스크립트 유저 게시판에 오신 것을 환영합니다. (2) _ 오잇스 2 1081 2021.09.06
3559 질문 JINKIller 616 2022.08.23
3507 아무거나 복동이형 326 2022.08.18
2833 아무거나 식봉이는 식봉해 1 504 2022.05.29
2721 꿀팁 _ 오잇스 2 402 2022.05.17
1922 질문 웨이핑 617 2022.01.03
1848 꿀팁 _ 오잇스 2 727 2021.12.15
1846 아무거나 한달에한번씻음 501 2021.12.15
1844 질문 Cpt_Titus 569 2021.12.14
1825 질문 아롱조 1 809 2021.12.09
1820 유머 _ 오잇스 6 2811 2021.12.08
1813 유머 _ 오잇스 2 845 2021.12.07
1806 꿀팁 _ 오잇스 7 1831 2021.12.06
1741 유머 _ 오잇스 8 2917 2021.11.23
1678 질문 보리슈와 784 2021.11.10
1497 아무거나 이름쓰기귀찮아 581 2021.10.20
1454 아무거나 김간장게장 7 1919 2021.10.14
1452 아무거나 plokm715 1 707 2021.10.13
1451 꿀팁 _ 오잇스 4 625 2021.10.13
1442 아무거나 김간장게장 557 2021.10.10
1432 아무거나 김간장게장 13 2849 2021.10.04
1406 꿀팁 _ 오잇스 2 650 2021.09.26
1405 유머 _ 오잇스 2 734 2021.09.26
1378 아무거나 let {a}=this 7 3668 2021.09.21
1376 유머 _ 오잇스 2 961 2021.09.19
1372 유머 _ 오잇스 1 855 2021.09.17
1370 유머 _ 오잇스 2 838 2021.09.16
1363 유머 _ 오잇스 1 1046 2021.09.15
1362 아무거나 이름쓰기귀찮아 910 2021.09.14
1360 유머 _ 오잇스 1 1612 2021.09.12
1358 답변 _ 오잇스 1 640 2021.09.12
글쓰기 43개의 글이 있습니다.
1 2
게시판 매니저
X