@typescript

Stories List
@qian5201314

TypeScript中的混合類型:函數與對象的結合

混合類型(Mixin Types)是 TypeScript 中一種強大的類型系統特性,它允許一個類型既可以是函數又可以是對象。這種類型同時具備函數調用和對象屬性訪問的能力,為設計模式如裝飾器模式等提供了優雅的實現方式。 核心概念 混合類型通過將函數簽名與對象類型進行交叉(intersection)定義: // 定義一個混合類型 interface MixedFunction

qian5201314 Avatar

@qian5201314

Nickname 代碼保安

@qian5201314

TypeScript中的混合類型:函數與對象的結合

混合類型(Mixin Types)是 TypeScript 中一種強大的類型系統特性,它允許一個類型既可以是函數又可以是對象。這種類型同時具備函數調用和對象屬性訪問的能力,為設計模式如裝飾器模式等提供了優雅的實現方式。 核心概念 混合類型通過將函數簽名與對象類型進行交叉(intersection)定義: // 定義一個混合類型 interface MixedFunction

qian5201314 Avatar

@qian5201314

Nickname 代碼保安

@xiaohe0601

🥳 Uni ECharts 2.1 發佈:正式支持鴻蒙,零成本遷移、全平台兼容、跨端開發零負擔!

Uni ECharts 是適用於 uni-app 的 Apache ECharts 組件,無需繁瑣的步驟即可輕鬆在 uni-app 平台上使用 echarts。 官網 文檔:https://uni-echarts.xiaohe.ink Github:https://github.com/xiaohe0601/uni-echarts 🏝️ 背景 🎵 “本來應該從從容容遊刃有餘,現在是匆匆忙忙連

xiaohe0601 Avatar

@xiaohe0601

Nickname xiaohe0601

@lingleidejiandao

Smartproxy提取指南——JSON-first 架構與參數化最佳實踐

本指南以 API 代理 IP 提取為核心,結合參數化設計、JSON-first 接口規範、嚴格的版本管理與狀態碼標準,幫助您構建高成功率、低運維成本、可平滑擴展的數據採集流水線。基於 8000萬+ 住宅代理 IP 資源池、覆蓋 全球 200+ 國家與主要城市、承諾 99.9% 服務可用性,Smartproxy 助力團隊快速上線並在 SLO 驅動下穩定擴容 1。 我們踐行安全、透明、合規的工程方法論

lingleidejiandao Avatar

@lingleidejiandao

Nickname 另類的剪刀

@yayu

10 個被嚴重低估的 JS 特性,直接少寫 500 行代碼

前言 最近逛 Reddit 的時候,看到一個關於最被低估的 JavaScript 特性的討論,我對此進行了總結,和大家分享一下。 Hi,我是冴羽,學習前端,歡迎圍觀我的“網頁版朋友圈”、踏上“前端大佬成長之路”。 1. Set:數組去重 + 快速查找,比 filter 快 3 倍 提到數組去重,很多人第一反應是 filter + indexOf,但這種寫法的時間複雜度是 O (n²),而 Set

yayu Avatar

@yayu

Nickname 冴羽

@yayu

JavaScript 異步循環踩坑指南

1. 前言 在循環中使用 await,代碼看似直觀,但運行時要麼悄無聲息地停止,要麼運行速度緩慢,這是為什麼呢? 本篇聊聊 JavaScript 中的異步循環問題。 2. 踩坑 1:for 循環裏用 await,效率太低 假設要逐個獲取用户數據,可能會這樣寫: const users = [1, 2, 3]; for (const id of users) { const user = awa

yayu Avatar

@yayu

Nickname 冴羽

@panpanpanya

React18+Vite4+Zustand4 後台管理系統搭建🎉

前言 老闆:搞個管理系統,我明天就要。 前端:沒空,誰愛做誰做!(小聲bb) 老闆:(突然抬頭)你説什麼? 前端:好的老闆 用後端的話來説,一個管理系統而已 要不是人手不夠,後端也能做。 看吧,前端就是這麼人微言輕~ 該乾的活還是得幹。 起步 # 使用ant design pro npm i @ant-design/pro-cli -g pro create myapp

panpanpanya Avatar

@panpanpanya

Nickname 潘潘潘呀

@jdcdevloper

TypeScript 前端工程最佳實踐

作者:王春雨 前言 隨着前端工程化的快速發展, TypeScript 變得越來越受歡迎,它已經成為前端開發人員必備技能。 TypeScript 最初是由微軟開發並開源的一種編程語言,自2012年10月發佈首個公開版本以來,它已得到了人們的廣泛認可。TypeScript 發展至今,已經成為很多大型項目的標配,其提供的靜態類型系統,大大增強了代碼的可讀性、可維護性和代碼質量。同時,它提供最新的Java

jdcdevloper Avatar

@jdcdevloper

Nickname 京東雲開發者

@ailvyoudetiebanshao

Next的Seo實踐

第10章:Next的Seo實踐 1. Meta標籤 Next App Router比較主流的有兩種定義源數據標籤的方式,一種是通過在佈局或者頁面上導出一個 metadata 的對象,會自動生成對應的Meta源數據標籤,這是靜態的。 而另外一種則是動態生成meta標籤,這種場景通常需要先請求接口得到一些信息的動態源數據頁面,在這種情況下我們採用generateMetadata函數。 1.1. 靜態M

ailvyoudetiebanshao Avatar

@ailvyoudetiebanshao

Nickname 溪抱魚

@lyflexi

從紅屏到斷點,VSCode+Chrome打開調試vue.js項目的黃金配置公式,後端轉前端必看!

夙夜小哥這幾天有個項目前端人手不夠,要我支援幾天。我本人之前是寫後端的,在支援的過程中發現前端對JavaScript或者typescript的方法提示以及代碼導航功能都比較弱,可能是由於js本身屬於弱類型語言,所以這波並不屬於VSCode的鍋。 但是我又發現好像VSCode不進行配置的話,沒法直接使用調試功能,好傢伙,這下讓我一頓上網衝浪百度+谷歌,翻來翻去感覺網友都沒有寫在點子上,最後還是

lyflexi Avatar

@lyflexi

Nickname 月半大熊貓

@lewyon

JavaScript中async和await的使用以及隊列問題

宏任務和微任務的隊列入門知識,可以參考之前的文章: JavaScript的事件循環機制 宏任務和微任務在前端面試中,被經常提及到,包括口頭和筆試題 async await概念 async 使用async關鍵字聲明的函數,是AsyncFunction構造函數的實例,在async函數體內,可以使用await接收promise實例 async和await關鍵字,在開發過程中,可以簡潔地去做

lewyon Avatar

@lewyon

Nickname 程序猿布歐

@lewyon

javaScript原型和原型鏈

前言 在瞭解原型和原型鏈之前,我們先了解一部分概念,constructor,prototype,__proto__。 constructor 在之前判斷數據類型的文章: javaScript常見數據類型檢查校驗 有提到過關於構造函數的屬性constructor constructor 的是返回創建實例對象的 構造函數的引用,這個屬性的值是對函數本身的引用,而不是一個包含函數名稱的字符串 具體

lewyon Avatar

@lewyon

Nickname 程序猿布歐

@lewyon

JavaScript擴展原型鏈淺析

前言 上文對原型和原型鏈做了一些簡單的概念介紹和解析,本文將淺析一些原型鏈的擴展。 javaScript原型和原型鏈 http://lewyon.xyz/prototype.html 擴展原型鏈 使用new操作符 利用原型是對象的特性,實例化對象的時候,繼承多個構造函數的屬性和方法 兼容性:支持目前以及所有可想象到的瀏覽器 (IE5.5 都可以使用) function parent1(

lewyon Avatar

@lewyon

Nickname 程序猿布歐

@shine_zhu

本地存儲封裝

前言 在項目中使用本地存儲(LocalStorage/SessionStorage)的場景有很多,如果有較多頻次的使用,則可以考慮簡單封裝一下。 封裝便利: 統一管理:如果視頻頻次將多,考慮將本地存儲全放到某一個文件夾中,避免後期混亂幾不好維護等問題; 序列化:存儲的時候轉字符串,使用的時候轉回來,通過公共方法處理即可,不用當使用的時候再逐個處理; 類型推斷:在實例化時傳入類型,在傳入和獲

shine_zhu Avatar

@shine_zhu

Nickname 軒軒

@liuyuxuan6666

解決lodash由於依賴錯誤導致無法啓動的問題

目錄 問題描述 嘗試的解決辦法 真正的解決辦法 結論 一、 問題描述 一個很久沒接觸的老項目,前兩天想看一下里面一個功能,結果前端起不來了。 先上報錯: Error: node_modules/@types/lodash/common/object.d.ts:1026:46 - error TS1005: '?' expected. 1026 : K extend

liuyuxuan6666 Avatar

@liuyuxuan6666

Nickname LYX6666

@crister_612f55567eb8c

本週遇到的問題

首先是又遇到了一些RXjs操作符,在這裏簡單的説一下。 首先是 combineLatest。 將其直接翻譯過來就是結合最新的(observeble),那麼結合一下下面這張圖片就很容易理解了。 combineLatest結合作為參數傳遞的所有 Observables 的值。這是通過按順序訂閲每個 Observable 並在任何 Observable 發出時從每個 Obser

crister_612f55567eb8c Avatar

@crister_612f55567eb8c

Nickname 李明

@42_6398721f10a5e

前端 - 封裝一個通用的接口請求工具

在前端開發中,接口請求是一個非常基本的需求。幾乎每個項目都會針對自己的使用場景對接口請求操作進行一系列封裝。今天我們也來一步步封裝一個通用的請求工具。 使用效果 首先讓我們來看看封裝完後的使用效果吧。 首先我們將提供一個 defineApi 函數,用於定義接口的配置信息,包括 url,請求參數以及返回類型等,具體使用方法如下: const BASE_URL = 'https://example.c