전체 글
-
[Javascript] 함수 선언문과 함수 표현식(function hoisting)Javascript 2021. 9. 23. 14:29
//함수 선언문 function add (x,y){ return x + y; } //함수 표현식 var add = function (x,y){ return x + y; } 함수 선언문의 경우 함수 호이스팅(function hoisitng)이 적용이 되어 코드의 최상단으로 끌려 올라간다. 런타임이전에 JS엔진에 의해 먼저 실핸되며 이는 런타임 이전에 함수 객체가 먼저 생성되는 것을 의미한다. 함수 표현식의 경우 함수 호이스팅이 아닌 변수 호이스팅이 적용되며 런타임에 함수 리터럴이 평가되어 함수 객체가 된다. 이둘의 차이는 무엇일까? 함수 선언문에 의해 생선된 함수 객체는 호이스팅으로 인해 최상단으로 올라갔기 때문에 함수가 선언되기 전에 함수를 호출하여도 에러가 나지 않는다 하지만 함수 표현식에 의해 생성된..
-
[Javascript] 원시값과 객체 (pass by value, pass by reference)Javascript 2021. 9. 23. 14:17
Javascript의 7types 1. number 2. string 3. boolean 4. null 5. undefined 6.symbol 7. object 크게는 원시타입 (primitive type)과 객체(object)로 나뉨 원시값은 변경이 불가능(immutable value)이며 읽기 전용(read only) 데이터이다. 원시값을 변수에 할당하게될 경우 실제값이 변수값으로 저장된다 값에 의한 전달(pass by value) object는 변수에 할당하게 될경우 참조 값이 복사 되어 전달 되며 이것을 참조에 의한 전달(pass by reference) 라고 부른다.
-
[Javascript] throw new TypeErrorJavascript 2021. 9. 23. 12:08
function add (x,y) { if( typeof x !== 'number || typeof y !== 'number){ throw new TypeError('숫자만 입력해주세요'); } return x + y } //expected output console.log(add('a','b')); //TypeError: 숫자만 입력해주세요 Parameter로 들어오는 arguments에 대한 type을 평가하고 Error를 던져줄때 사용하는 Code
-
[Javascript] 구조 분해 할당Javascript 2021. 7. 31. 11:26
const studentCountry = { kim: 'korea', Andy: 'USA' } //구조분해할당을 사용안한 예 const KimsCountry = studentCountry.kim //구조분해할당을 활용해서 변수명 재할당 const { kim : kimsCountry } = studentCountry //구조분해할당만을 활용 const { kim } = studentCountry //결과는 모두 같다 console.log(KimsCountry) console.log(kimsCountry) console.log(kim)
-