Front End (12) 썸네일형 리스트형 [JavaScript] enhanced object shorthand properties [JavaScript] template tag function 태그를 사용하면 템플릿 리터럴을 함수로 파싱 할 수 있습니다. 태그 함수의 첫 번째 인수는 문자열 값의 배열을 포함합니다. 나머지 인수는 표현식과 관련됩니다. 결국 함수는 조작 된 문자열을 반환. expression의 수는 언제나 string의 수보다 하나 적다 ✔️tag function을 이용하여 strings 또는 expressions 중 하나를 순회하여 특정 포멧 적용하기 [JavaScript] forEach, map, reduce forEach 주어진 함수를 배열 요소 각각에 대해 실행 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach Array.prototype.forEach(callback[, thisArg]) - callback: function (currentValue[, index[, originalArray]]) - currentValue: 현재값 - index: 현재 인덱스 - originalArray: 원본 배열 - thisArg: this에 할당할 대상. 생략시 global객체 map 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환 https://develope.. Template literal String을 표현하는 방법 var a = "abc" var b = 'abc' var c = `abc` var a = "abc" var b = 'abc' var c = `abc` a === b b === c a === c backtick(`) \n 쓰지 않아도 됨 string interpolation 변수를 중괄호로 문자열 안에 끼워 넣기 값이 될 수 있는 것(값 or 식 or 함수의 호출 or 삼항연산자 등... ) 모두 올 수 있다. ${ } 내에는 `값` 또는 `식`이 올 수 있다. 문자열이므로, 자동으로 toString 처리가 된다. tip> backtick을 쓰고 싶고, indent를 맞추고 싶다면, trim을 쓰자 [JavaScript] Block Scope 함수 스코프: 함수에 의해서 생기는 변수의 유효 범위 블락 스코프: 블락에 의해서 생기는 변수의 유효 범위 변수 선언 val 함수 스코프를 따름 let 블락 스코프를 따름 const 블락 스코프를 따름 블락 스코프 Hoisting var의 hoisting -> 변수 a 생성 -> undefined 할당 let, const의 hoisting -> 변수 a 생성 TDZ에 걸리므로 이전 reference error... const 키워드로 hoisting..! a 의 존재는 알고 있으나, 값은 할당되지 않은 상태.. => reference error *TDZ 임시 사각 지대 let 블락 스코프 안에서만 유효 중복 선언 불가능 재 할당 가능 호이스팅은 되나, 일시적 사각지대가 존재 (not defined 에러).. [JavaScript] this this 메소드를 호출한 객체가 저장되어 있는 속성 1. 일반 함수에서 this -> 전역 객체인 window 2. 중첩 함수에서 this -> window 3. 이벤트에서 this -> 이벤트 객체 4. 메소드에서 this -> 메소드 객체 5. 메소드 내부의 중첩 함수에서 this -> window var value = 0 var obj = { value: 1, setValue: function () { this.value = 2; // this -> obj (function () { // 객체가 아닌 익명 함수 this.value = 3 // this -> window => window.value (전역 value) = 3 })(); } } obj.setValue() console.log(value.. swift memory, closure Memory Management ARC(Auto Reference Counting) Reference Type (Heap memory에 저장) => 자동으로 관리 (참조 포인터 수를 counting.. 그 수가 0이 되면 toss.. Garbage Collection 기법과는 다름) > Garbage Collection : 힙 메모리를 간헐적으로 관찰하여 참조하지 않으면 날리는 방식 -> 예측 불가능한 불규칙한 메모리 정리 Influencing ARC strong ( default ) 기본적인 Reference Counting 방식 해당 포인터가 더 이상 해당 메모리를 참조하지 않을 때까지 힙 메모리 안에 머물도록 weak 힙에 있는 것을 사용하지 않는 다면, 힙에서 제거 후 nil로 설정 ( : opt.. Swift class / struct / enum class : property와 function을 가질 수 있음, 초기화 함수, 상속, reference type(pointer) 전달 struct : property와 function을 가질 수 있음, 초기화 함수, value type 전달 enum : case 저장소, value type 전달 value VS reference 전달 value copy.-> 즉 받는 변수의 타입까지 copy var x = y ( : array ) x.append(val) // y에 반영되지 않음 let 변수에 할당한 경우 변경할 수 없음 ( 상수임 (immutable)) let x = y ( : array ) x.append(val) reference 같은 메모리를 바라봄. Me.. 이전 1 2 다음