Web 25

javascript 클립보드 복사 기능

✅ 1. 최신 방식 (권장) — navigator.clipboard.writeText()function copyToClipboard(text) { navigator.clipboard.writeText(text) .then(() => { console.log('클립보드에 복사되었습니다!'); }) .catch(err => { console.error('복사 실패:', err); });} ✅ 2. 레거시 방식 — document.execCommand('copy') (구형 브라우저 호환)function legacyCopyToClipboard(text) { const textarea = document.createElement('textarea'); textarea...

Web/javascript 2025.06.25

chrome V8 엔진에 대해

V8은 C++로 작성된 Google의 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 또는 웹 어셈블리(WebAssembly) 엔진이다. 구글 크롬 브라우저와 안드로이드 브라우저에 탑재되어 있고 Node.js 등에서 사용된다. ECMAScript(ECMA - 262) 3rd Edition 규격의 C++로 작성되었으며, 독립적으로 실행이 가능하다. 또한 C++로 작성된 응용 프로그램의 일부로 작동할 수 있다. V8은 컴퓨터가 실제로 이해할 수 있도록 JavaScript 코드를 기계어(CPU가 이해할 수 있는 언어로 숫자로만 구성된 순수 디지털 방식)로 직접 번역한 다음, 번역된 코드, 즉 컴파일된 코드를 실행한다. WebAssembly WebAssembly는 최신 웹 브라우저에서 실행할 수..

Web/frontend 2024.03.14

javascript Prototype

자바스크립트에서 객체를 상속하기 위하여 프로토타입이라는 방식을 사용하고 모든 객체는 자신의 부모(역할) 객체와 연결되어 있는데 이 부모 객체를 프로토타입(객체) 라고 한다. var foo = { name: 'foo', age: 30 } console.log(foo.toString()); //[object Object] foo 객체의 프로토타입에 toString() 메서드가 정의되어 있음. 크롬 브라우저에서는 __proto__프로퍼티 형태로 구현되어 있다. 프로토타입 수정하기 아래와 같이 프로토타입에 메소드를 추가하면 해당 생성자로 생성된 모든 객체에서 사용 가능하다. function Person(first, last, age, gender, interests) { this.first = first; th..

Web/javascript 2024.02.20

vue3 자식(child) refs 전달하기

quasar framework를 사용하는 프로젝트 중 공통 이라는 공통 input 컴포넌트를 만들고 해당 input의 validate()이라는 함수를 사용하려고 했는데 계속 함수를 찾지 못하는 현상이 있었다. 자식 ref를 제대로 인식하지 못하여서 자식 함수에서 ref를 정의하여 defineExpose를 사용하여 부모 컴포넌트에서도 자식 컴포넌트에 접근하여 함수를 사용할 수 있도록 수정해주었다. DefineExpose

Web/vue 2023.03.08

vue component is declared but its value is never read

vue3 setup방식에서 component를 선언 시 회색 글씨가 뜨면서 'component is declared but its value is never read'와 같은 메세지가 출력될 때가 있다. 컴포넌트가 선언되었으나 사용되지 않았다는 내용인데 오류는 아니지만 소스가 길어지면서 보기 불편해서 해결 방법을 찾아보던 도중 기존에 vetur이 아닌 Volar라는 extension을 사용하라는 추천이 있어서 해당 extension으로 교체해 주었다. 참고: https://stackoverflow.com/questions/69504924/how-to-avoid-component-is-declared-but-its-value-is-never-read-when-i-use-vue

Web/vue 2023.01.10

vue3 setup에서의 react와 비교(attr, ...props, slot, children)

프로젝트 공통 컴포넌트를 만드는 방식 중 vue 3 setup - attr : 부모 컴포넌트에서 자식 컴포넌트로 속성들을 전달하기 위해 사용 - slot : 부모 컴포넌트 안에 자식 컴포넌트 삽입 --App.vue 버튼 --MyButton.vue 라벨 react - props: 부모 컴포넌트에서 자식 컴포넌트로 속성들을 전달하기 위해 사용 - children : 부모 컴포넌트 안에 자식 컴포넌트 삽입 --App.jsx import MyButton from './MyButton'; export default function App() { const onclick = () => { alert('!!!'); } return ( 버튼 ) } --MyButton.jsx export default function ..

Web/vue 2022.12.31