[모던자바스크립트 Deep Dive] 11장. 원시값과 객체의 비교 / 얕은복사와 깊은복사
·
JavaScript
1. 원시값원시 타입의 값, 즉 원시 값은 변경 불가능한 값이다. 한번 생성된 원시 값은 읽기 전용(read only) 값으로서 변경할 수 없다.원시 값을 변수에 할당하면, 메모리에 실제 값이 저장된다.원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사 되어 전달된다. 이를 값에 의한 전달(pass by value)이라 한다. 1-1. 불변성원시 값은 변경 불가능한 값이다.재할당은 가능하지만, 변하지 않는다. 변경이 불가능하기에 재할당 시에도 메모리 공간에서 값이 변하는게 아닌 새로운 메모리 공간을 확보하고, 재할당한 값을 저장한 후, 변수가 참조하던 메모리 공간을 변경한다.데이터의 신뢰성을 보장하며 이런 특성을 바로 불변성(immutabillity)라 한다.만약 값이 변한다면, 상태 ..
this, 메서드 축약, 일반 함수 표현식
·
JavaScript
1. this메서드로서 호출이 된다면, this는 그 메서드를 소유한 객체를 가리킨다.독립적으로 호출되면, 함수가 객체와 분리되어 호출되면 this는 전역객체(브라우저에서는 window, node.js에서는 global)를 가리킨다. 엄격모드(strict mode)는 this가 undefined 가 된다. 1-1. 일반 함수 표현식const obj = { myMethod: function() { console.log(this); }};// obj.myMethod()를 호출하면:obj.myMethod(); // 'this'는 obj를 가리킨다.// 그러나 메서드를 변수에 할당한 후 호출하면:const myFunction = obj.myMethod;myFunction(); // 'th..
[모던자바스크립트 Deep Dive] 10장. 객체 리터럴
·
JavaScript
1. 객체란?자바스크립트는 객체(object) 기반의 프로그래밍 언어이며, 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등) 모두 객체이다.객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)로 나뉜다. 원시타입단 하나의 값만 나타냄변경 불가능한 값(immutable value)객체타입다양한 타입의 값(원시 값, 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조객체는 변경이 가능한 값이다.(mutable value)프로퍼티객체의 상태를 나타내는 값(data)메서드프로퍼티(상대 데이터)를 참조하고 조작할 수 있는 동작(behavior)자바스크립트의 함수는 일급객체이므로 값으로 취급이 가능하다. 그래서 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메..
tailwind 서버 환경 설정
·
tailwindcss
tailwind에 서버 관련하여 자유롭게 커스텀이 가능하다.몇가지만 해보자.아래 serve안에 --port=8090는 포트번호가 기본적인 5500번을 사용하게 되는데 그 번호를 8090으로 변경하고--browser=safari 는 기본 브라우저 설정을 사파리로 설정하는 것이다. 다른 브라우저로 설정이 가능하다.--host=localhost의 경우는 서버를 로컬환경에서 실행하는 것이다.{ "scripts": { "start": "run-p watch serve", "dev": "tailwindcss -i ./src/styles/input.css -o ./src/styles/main.css", "watch": "npm run dev -- --watch", "serve": "live-s..
tailwind 익스텐션 및 세팅 (2)
·
tailwindcss
1. 새로고침 및 수정사항 반영npm run dev혹은 watch라는 모드가 있다.npm run dev는 1회성으로 수정 사항에 대해 그 순간 새로고침이 되어 반영이 되게 만드는 것이다.근데 watch는 저장을 할 때마다, 수정한 사항에 대해 계속 반영이 될 수 있도록 하는 것이다.아래와 같이 pakage.json 파일에 입력을 하면 된다.그래서 만약에 파일명을 수정하게 된다면 dev 값만 수정을 하게 되면 아래 watch도 같이 수정된다.터미널에1. 상시 업데이트 : npm run watch 라고 입력하면 된다.2. 일회성으로 하고 싶다면 npm run dev 이다.{ "scripts": { "dev": "tailwindcss -i ./src/styles/input.css -o ./src/sty..
tailwind 익스텐션 및 세팅 (1)
·
tailwindcss
테일윈드를 사용할 때 계속 변경을 할 때마다 아래 명령어를 입력해야했다. 하지만 이를 쉽게 할 수 있는 방법이 있다.npx tailwindcss -i ./src/input.css -o ./src/output.css --watch 파일 경로 중에package.json 파일에 들어가서 처음에는 아래와 같다.{ "devDependencies": { "tailwindcss": "^3.4.10" }} 그리고 아래와 같이 고쳐본다. 역시 파일경로와 파일명을 잘 확인해본다.{ "scripts": { "dev": "npx tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/main.css" }, "devDependencies": { "tailw..
오류확인자
절대 오류를 확인해!