개발/JavaScript

    [JavaScript] 원시 값과 객체

    // 1 var score = 80; var copy = score; score = 100; console.log(copy); // 1-1 // 2 var person1 = { name: 'Lee' }; var person2 = { name: 'Lee' }; console.log(person1 === person2); // 2-1 console.log(person1.name === person2.name); // 2-2 // 3 var person = { name: 'Lee' }; var copy = person; copy.name = 'Kim'; console.log(person.name); // 3-1 위의 예시에서 각각의 결과는 어떻게 될까? 1-1의 결과는 경험상 80이 나올 것 같고 2-1과 2..

    [JavaScript] 객체

    const person = { 'last-name': 'Lee', 1: 10 }; person.'last-name'; person.last-name; person.['last-name']; person.[last-name]; person.1; person.'1'; person[1]; person['1']; 위의 코드가 있을 때, 각 실행 결과는 어떻게 될까? person.1의 결과는 10이 될 것 같지만 실행해보면 오류가 발생한다. 각각의 실행 결과를 알기 위해 JS의 객체에 대해 알아야 한다. 1️⃣ 객체란 JS는 객체 기반의 프로그래밍 언어다. 따라서, JS를 구성하는 거의 모든 것(원시 값을 제외한 나머지 값 모두)은 객체다. 원시 값은 변경 불가능한 값이지만 객체는 변경 가능한 값이다. 객체는 0..

    [JavaScript] 변수

    console.log(test); var test; test = 30; console.log(test); 이 코드의 실행 결과는 무엇일까? 첫 console.log에 있는 test는 선언되기 전이기 때문에 ReferenceError가 발생하게 될까? 결과가 어떻게 출력되는지는 JS의 변수에 관해 알아야 한다. 1️⃣ 변수 선언 변수를 사용하기 위해서는 반드시 선언이 필요하다. 변수를 선언하기 위해서는 var, const, let 키워드를 사용한다. 이때, 변수 선언에 의해 확보된 메모리 공간에 값을 할당하지 않으면 JS 엔진에 의해 undefined라는 값이 할당되어 초기화 된다. 선언: 변수 이름을 등록해서 JS 엔진에 변수의 존재를 알린다 초기화: 값을 저장하기 위한 메모리 공간을 확보하고 암묵적으로..