반응형

function 4

[자바스크립트] 화살표 함수의 제약.

this나 super에 대한 바인딩이 없고, methods 로 사용될 수 없습니다. new.target키워드가 없습니다. 일반적으로 스코프를 지정할 때 사용하는 call, apply, bind methods를 이용할 수 없습니다. 생성자(Constructor)로 사용할 수 없습니다. yield를 화살표 함수 내부에서 사용할 수 없습니다. - 출처 - https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions 화살표 함수 - JavaScript | MDN 화살표 함수 표현(arrow function expression)은 전통적인 함수표현(function)의 간편한 대안입니다. 하지만, 화살표 함수는 몇 가..

[자바스크립트] 화살표 함수 안에서 this 사용하기

$("#test").click(()=>{ let dif=$(this).attr('value'); console.log(dif); }); 위 코드의 결과물은 "undefinded"이다. 왜? 라고 생각할텐데 그 이유는 $(this)가 해당 익명함수를 가르키는 것이 아니라 window 객체를 지칭해버린다. 즉, 저 함수 내부를 지칭하는 게 아니라 함수 밖을 지칭해버림. 그렇기에 이를 해결하려면, $("#test").click(function() { let dif=$(this).attr('value'); console.log(dif); }); 화살표 함수를 지우고 익명함수로 바꿔버리자. 그러면 $(this)가 익명 함수를 읽어버린다. console.log찍어보니 bind가 끊어지는 듯? 그래서 그런 듯 싶다.

[php] js파일 안에서 $(document).ready(function() {})을 쓰지마라.

js 안에서 $(document).ready(function() {})을 쓰지마라. 말 그대로이다. 이것을 쓰지 말라하는 이유는 js에서 굳이 쓸 필요가 없기때문이다. 이거때문에 쓸데없는 버그를 걸렸기에 그러하다. 필자는 기본적으로 해당 문구를 php 파일 안에서만 $(document).ready(function() {})를 쓰는데, 삭제하기 귀찮아 이걸 그대로 js에다가 가져놨다가, 고생을 했다. 왜냐하면, 해당 부분이 없이쓰면 js 파일자체가 전역변수로 사용되는데, 해당 문구가 있으면 js 안에서 let volt = '볼트'; let obj = { 'fruit': "사과", 'time': "3시"}; $(document).ready(function() { let apple = '사과'; console..

취업/PHP 2021.11.17
728x90