js 문법3 [JavaScript] 상속, 프로토타입 객체에는 그 객체가 프로퍼티 타입을 가지고 있는지 확인하는 함수가 있는데 이는 hasOwnProperty( ) 이다. const user = { name : 'Mike' } console.log(user.name); // 'Mike' user.hasOwnProperty('name'); // true user.hasOwnProperty('age'); // false 위처럼 hasOwnProperty( )를 통해 user는 name이라는 프로퍼티를 가지고 있지만 age라는 프로퍼티 타입을 가지고 있지 않은 것을 확인할 수 있다. 이 프로토타입을 어떻게 사용하는지 알기 위해서 상속이라는 개념을 사용해서 알아볼 것이다. 아래와 같이 bmw, benz, audi라는 객체가 있다. bmw는 navigation이 있.. 2022. 3. 6. [JavaScript] 클로저( Closure ) 이해하기 이번 시간에는 클로저에 대해 알아볼 것이다. 자바스크립트는 어휘적 환경을 갖는다. ( Lexical Environment ) 아래의 코드가 있을 때 어떻게 작동이 되는지 살펴보자, let one; one = 1; function addOne(num) { console.log(one + num); } addOne(5); // 6 코드가 실행되면 스크립트 내에서 선언한 변수들이 Lexical 환경으로 올라간다. 초기화 하지 않은 one은 사용할 수 없는 반면에 함수 선언문은 바로 초기화 되기 때문에 사용가능하다. 1. let one을 만났을 때 초기값이 할당을 받지 않았기 때문에 오류는 나지 않지만 undefined가 난다. 2. 그 이후 one은 1을 할당 받는다. 3. 함수는 선언과 동시에 초기화 된다... 2022. 3. 5. [JavaScript] 구조 분해 할당 이번 시간에는 구조 분해 할당에서 배워볼 것이다. 우선, 구조 분해 할당(Destructuring assignment)은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게하는 표현식이다. let [x, y] = [1, 2]; console.log(x); // 1 console.log(y); // 2 쉽제 말하자면 x에 1을 담고 y에 2를 담는 것이다. 간단한 예제로 살펴보도록 하자 let users = ['Mike', 'Tony', 'Maria']; let [user1, user2, user3] = users; console.log(user1); // Mike console.log(user2); // Tony console.log(user3); // Maria 이는 user1,2,3을 us.. 2022. 2. 28. 이전 1 다음 728x90