묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
화살표 함수 질문드립니다.
선생님께서 말씀하셨던 화살표 함수는 function 을 () 로 대체 해서 쓰신다고 말씀하셨습니다.궁금한게 해당 Todoinput.vue 에서 function () {} 해당 부분을 () => {} 으로 대체하면 웹 상에서 정상적으로 실행되지 않는데 제가 화살표 함수에 대해서 잘못 이해하고 있는지 여쭤봅니다.
-
미해결프론트엔드 날개달기: Vue, React 배우기 전에 꼭 알아야하는 지식
화살표 함수의 this 질문드립니다!!
화살표 함수의 this는 상위의 스코프를 가리킨다. 이런 개념이잖아요?? 그래서 obj안에 obj를 만들어 거기에서 화살표함수를 통해 함수를 만들고 호출하였습니다. 상위 스코프이기에 test가 출력이 될 거라고 생각했는데 window가 출력이 되더라구요.. 왜일까요?ㅠㅠ const test = { name : 'test1', foo : { bar : ()=> { console.log(this) } } } test.foo.bar()
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
화살표 함수의 관해 질문있습니다.
안녕하세요. 제로초님 요즘 왠만한 JS 코드들은 화살표 함수를 안 쓴 코드를 찾아보기가 힘든데요. 그래서 더 의문이 깊어져 갑니다. 화살표 함수가 this 값 때문에 기존 함수를 완전히 대체하지도 못하는데, 구지 화살표 함수를 써야하는 이유가 있나요?? 저는 오히려 너무 간결해져서, 때로는 화살표 함수가 알아보기 힘들 때도 많습니다. 이렇게까지 해가면서, 화살표 함수를 써야되는 이유가 있는지... 그리고 화살표 함수를 써야 할만큼, 코드의 간결함이 실무에는 얼마나 중요한지에 대해서 여줘보고 싶습니다. 아직 코딩 초보인지라, 제가 이해하는데 한계가 있다보니, 본의 아니게 살짝 이상한 질문을 드렸네요. 죄송합니다.
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
userSchema.pre 안에 function 을 화살표 함수로 바꿀 수 없나요?
userSchema.pre('save', function (next) { // 비밀번호 암호와 var user = this; if (user.isModified('password')) { bcrypt.genSalt(saltRounds, function (err, salt) { if (err) return next(err); bcrypt.hash(user.password, salt, function (err, hash) { if (err) return next(err); user.password = hash; next(); }); }); } else { next(); } }); 이거를 function 들을 화살표 함수로 바꿔보았는데 에러가 뜹니다. 혹시 왜그런지 알 수 있을까요?
-
해결됨Svelte.js 입문 가이드
화살표 함수 관련 질문입니다.
안녕하세요. 너무나 훌륭한 강의 잘 봤습니다. 어쩜 그렇게 잘 가르쳐주시는지, 수업 듣는 내내 '참 대단하시다!' 싶었고.. 그만큼 배울 게 많아서 참 좋았습니다. 감사합니다. ^^ 마지막 수업까지 보고 나서 저도 Todo 예제를 만들어봤는데요. 역시나 수업을 볼 땐 워낙 설명을 잘해주셔서 따박따박 수긍이 가는 바람에 충분히 이해가 됐다고 생각했는데, 막상 혼자 코딩을 하다보니 여기저기서 막히더군요 ^^;; (수긍이 되는 것과 제대로 이해하는 것이 다르다는 걸 새삼 깨닫게 됐습니다 ^^;;) 수업에서 작성해주신 코드를 무작정 copy하기보다, 알려주신 내용을 최대한 기억해내면서 나름대로 이해한 내용대로 코드를 작성해보니, 정확히 어떤 걸 잘 모르고 있는지 제대로 파악이 돼서 좋았구요. 그렇게 시행착오 겪고 나서 수업을 다시 반복해서 보니 좀더 확실히 이해되는 것 같습니다. 근데 화살표 함수 관련해서 시행착오가 좀 있었는데요;; deleteTodo() 함수 내용 $todos = $todos.filter(t => t.id !== todo.id)를 $todos = $todos.filter(t => {t.id !== todo.id}) 이렇게 해놓으면 항목 하나 삭제 시도할 때 리스트 전체가 사라지는 현상이 있더라구요;; 제가 화살표 함수 구문에 대한 이해가 부족해서 그런 것같은데;; t => t.id !== todo.id 에서 t.id !== todo.id에 중괄호만 하면 boolean 값 return을 명시적으로 안해서 $todos.filter() 결과가 null이 되고, 중괄호를 안해야 boolean값들이 제대로 return 되기 때문에 그런 게 맞나요? input 태그에선 on:keydown={e => {e.key === 'Enter' && updateTodo()}} 이렇게 하나 on:keydown={(e) => e.key === 'Enter' && updateTodo()} 이렇게 하나 동일하게 동작하길래, 중괄호를 하든 안하든 상관없다고 착각했는데, input 태그에선 updateTodo() 함수를 호출하는 게 목적이라 return 여부와 상관없이 정상적으로 동작한 것같은데, 제가 이해한 게 맞는지 답변 부탁드립니다. ^^;;