호이스팅(hoisting)은 JavaScript에서 변수 및 함수 선언이 코드의 맨 위로 끌어올려지는 현상을 가리킨다. 호이스팅은 코드가 실행되기 전에 JavaScript 엔진에 의해 처리된다. 1. 변수의 호이스팅 console.log(x); // undefined var x = 5; console.log(x); // 5 위 코드블럭을 살펴보면 x라는 변수는 선언과 동시에 값이 할당되고 1번째 줄의 console.log(x)는 undefined를 반환하였다. 여기서 의문을 가질 수 있다. 변수 x는 5가 아닌 undefined인데 호이스팅이 발생하지 않은 것 아닌가?? 아니다. x가 선언되지 않았다면 undefined가 아닌 아래와 같은 오류를 뱉었어야 한다. Uncaught ReferenceError..
Front-End
var · 함수 스코프를 따름 함수 내에서 선언된 경우 함수 내에서만 유효 · 호이스팅(hoisting)이 발생합니다. 즉, 변수 선언을 스코프 상단으로 끌어올리는 동작이 발생 · 블록 스코프를 무시합니다. if, for, while 등의 블록 내에서 선언된 변수도 함수 스코프를 가짐 · 값을 재할당할 수 있음. let · 블록 스코프를 따름. if, for, while 등의 블록 내에서 선언된 경우 해당 블록 내에서만 유효 · 호이스팅(hoisting)은 발생하지만 선언 전에 변수를 참조하면 ReferenceError가 발생 · 값을 재할당할 수 있음. const · 블록 스코프를 따릅니다. · 변수에 할당한 값을 변경할 수 없습니다. 즉, 재할당이 불가능합니다. 하지만 객체나 배열 등의 복합 데이터 ..
1. 서론 회사 프로젝트중 웹앱을 만들어야 할 일이 생겼다. 아래 사진처럼 모바일에서 PC에서 사용하는 날짜 선택기를 사용한다면 상당히 불편하다. 그래서 좀 더 모바일 친화적인 Rolldate라는 패키지를 소개하고자 한다. 2. 사용방법 1) Rolldate github 페이지 접속 아래 링크를 통해 Rolldate의 github로 들어간다. GitHub - weijhfly/rolldate: :clock10:rolldate 多格式、功能强大的移动端日期选择插件 :clock10:rolldate 多格式、功能强大的移动端日期选择插件. Contribute to weijhfly/rolldate development by creating an account on GitHub. github.com 2) Code > Dow..

서론 처음 플러터 개발을 시작했을 때 QR스캔이 필요해서 아무 패키지나 사용했다. '플러터 패키지니까 사용량 높은 아무거나 써도 Android/iOS 다 지원하겠지?' 대충 이런 생각이었다. 아니 그냥 iOS에선 안될거란 생각 자체를 못했다. 그 때 사용한 패키지가 qrscan이라는 놈.... 코드 다짜고 iOS 지원이 안되어 싹 갈아엎었다... 그래서 오늘은 갈아엎으며 바꾸게 된 패키지인 qr_code_scanner를 소개해보고자 한다. Android/iOS 모두 지원하며 qrscan보다 기본 디자인도 예쁘고 커스터마이즈도 가능해서 추천한다. 1. 설치 pubspce.yaml에 qr_code_scanner를 추가하고 Pub get qr_code_scanner: ^1.0.1 qr_code_scanner ..
javascript에서 객체는 key , value 형식으로 이루어져 있다. 보통 example.key와 같이 key값을 직접 입력해 value 값을 알아낸다. 그런데 만약 내가 찾고자하는 key가 변수의 값으로 담겨있다면 객체의 value값을 어떻게 구해야할까?? 예시를 통해 알아보자. var example = { "apple" : 1 , "banana" : 2 }; console.log(example); > {apple: 1, banana: 2} example이라는 객체가 만들어졌다. var keyName = "banana"; keyName이라는 변수가 만들어졌다. console.log(example.keyName); > undefined 이렇게는 example의 value 값에 접근할 수 없다. c..

플러터 InAppWebView로 javscript function을 통해 데이터를 주고받을 수 있습니다. WEB에서 APP, APP에서 WEB으로 데이터를 어떻게 전송하는지 알아보겠습니다. 1. addJavaScriptHandler (WEB -> APP) WEB 코드 function webToApp_Function() { //Flutter에서 WebView가 모두 로드되었을 경우 if (isFlutterInAppWebViewReady) { //WEB에서 APP으로 넘겨줄 데이터 var args = [{'name': value}]; window.flutter_inappwebview.callHandler('handler명', ...args); } } 위 코드블럭처럼 function을 구현하고 handler명..

필자는 앱 FlutterSecureStorage에 저장된 JWT토큰을 백엔드로 바로 전송해야했고, 이를 위해 POST방식으로 토큰을 전송하였습니다. 사용방법은 아래와 같습니다. @override Widget build (BuildContext context){ return InAppWebView( onWebViewCreated: (controller) { _controller = controller; print("onWebViewCreated---------------------> $token"); var data = "token=" + token; _controller.postUrl(url: Uri.parse("호출할 url"), postData: Uint8List.fromList(utf8.encode..