国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

不是Typescript用不起,而是JSDoc更有性價比?

共 9856字,需瀏覽 20分鐘

 ·

2024-03-23 13:00

1. TS不香了?


6e6d256ce04ef98320cab5e9b56c7ef9.webp


2023年,幾條關于 Typescript 的新聞打破了沉寂,讓沒什么新活好整的前端開發(fā)圈子又熱鬧了一番。

5cdbc15985a79e414849e761a06b925f.webp

先是 GitHub 的報告稱:“TypeScript 取代 Java 成為第三受歡迎語言”。

在其當年度 Octoverse 開源狀態(tài)報告中,在最流行的編程語言方面,TypeScript 越來越受歡迎,首次取代 Java 成為 GitHub 上 OSS 項目中第三大最受歡迎的語言,其用戶群增長了 37%。

而 Stack Overflow 發(fā)布的 2023 年開發(fā)者調(diào)查報告也顯示,JavaScript 連續(xù) 11 年成為最流行編程語言,使用占比達 63.61%,TypeScript 則排名第五,使用占比 38.87%。

bb1ffeb5764742f763670d42608077e3.webp

更大的爭議則來自于:2023年9月,Ruby on Rails 作者 DHH 宣布移除其團隊開源項目 Turbo 8 中的 TypeScript 代碼

他認為,TypeScript 對他來說只是阻礙。不僅因為它需要顯式的編譯步驟,還因為它用類型編程污染了代碼,很影響開發(fā)體驗。

無獨有偶,不久前,知名前端 UI 框架 Svelte 也宣布從 TypeScript 切換到 JavaScript。負責 Svelte 編譯器的開發(fā)者說,改用 JSDoc 后,代碼不需要編譯構建即可進行調(diào)試 —— 簡化了編譯器的開發(fā)工作。

Svelte 不是第一個放棄 TypeScript 的前端框架。早在 2020 年,Deno 就遷移了一部分內(nèi)部 TypeScript 代碼到 JavaScript,以減少構建時間。

如此一來,今年短期內(nèi)已經(jīng)有幾個項目從 TypeScript 切換到 JavaScript 了,這個狀況就很令人迷惑。難道從 TypeScript 切回 JavaScript 已經(jīng)成了當下的新潮流?這難道不是在開歷史的倒車嗎?

TypeScript

由微軟發(fā)布于 2012 年的 TypeScript,其定位是 JavaScript 的一個超集,它的能力是以 TC39 制定的 ECMAScript 規(guī)范為基準(即 JavaScript )。業(yè)內(nèi)開始用 TypeScript 是因為 TypeScript 提供了類型檢查,彌補了 JavaScript 只有邏輯沒有類型的問題,

對于大型項目、多人協(xié)作和需要高可靠性的項目來說,使用 TypeScript 是很好的選擇;靜態(tài)類型檢查的好處,主要包括:

  • 類型安全
  • 代碼智能感知
  • 重構支持

而 TS 帶來的主要問題則有:

  • 某些庫的核心代碼量很小,但類型體操帶來了數(shù)倍的學習、開發(fā)和維護成本
  • TypeScript 編譯速度緩慢,而 esbuild 等實現(xiàn)目前還不支持裝飾器等特性
  • 編譯體積會因為各種重復冗余的定義和工具方法而變大

相比于 Svelte 的開發(fā)者因為不厭其煩而棄用 TS 的事件本身,其改用的 JSDoc 對于很多開發(fā)者來說,卻是一位熟悉的陌生人。

2. JSDoc:看我?guī)追窒駨那埃?/span>

早在 1999 年由 Netscape/Mozilla 發(fā)布的 Rhino -- 一個 Java 編寫的 JS 引擎中,已經(jīng)出現(xiàn)了類似 Javadoc 語法的 JSDoc 雛形

Michael Mathews 在 2001 年正式啟動了 JSDoc 項目,2007 年發(fā)布了 1.0 版本。直到 2011 年,重構后的 JSDoc 3.0 已經(jīng)可以運行在 Node.js 上

JSDoc 語法舉例

定義對象類型:

      
      /**
 * @typedef {object} Rgb
 * @property {number} red
 * @property {number} green
 * @property {number} blue
 */


/** @type {Rgb} */
const color = { red255green255blue255 };

定義函數(shù)類型:

      
      /**
 * @callback Add
 * @param {number} x
 * @param {number} y
 * @returns {number}
 */

const add = (x, y) => x + y;

定義枚舉:

      
      /**
 * Enumerate values type
 * @enum {number}
 */

const Status = {
  on1,
  off0,
};

定義類:

      
      class Computer {
  /**
   * @readonly Readonly property
   * @type {string}
   */

  CPU;

  /**
   * @private Private property
   */

  _clock = 3.999;

  /**
   * @param {string} cpu
   * @param {number} clock
   */

  constructor(cpu, clock) {
    this.CPU = cpu;
    this._clock = clock;
  }
}

在實踐中,多用于配合 jsdoc2md 等工具,自動生成庫的 API 文檔等。

隨著前后端分離的開發(fā)范式開始流行,前端業(yè)務邏輯也日益復雜,雖然不用為每個應用生成對外的 API 文檔,但類型安全變得愈發(fā)重要,開發(fā)者們也開始嘗試在業(yè)務項目中使用 jsdoc。但不久后誕生的 Typescript 很快就接管了這一進程。

但前面提到的 TS 的固有問題也困擾著開發(fā)者們,直到今年幾起標志性事件的發(fā)生,將大家的目光拉回 JSDoc,人們驚訝地發(fā)現(xiàn):JSDoc 并沒有停留在舊時光中。

吾謂大弟但有武略耳,至于今者,學識英博,非復吳下阿蒙

除了 JSDoc 本身能力的不斷豐富,2018 年發(fā)布的 TypeScript 2.9 版本無疑是最令人驚喜的一劑助力;該版本全面支持了將 JSDoc 的類型聲明定義成 TS 風格,更是支持了在 JSDoc 注釋的類型聲明中動態(tài)引入并解析 TS 類型的能力。

8f7dbd174c70859d1608405b18a63905.webp

比如上文中的一些類型定義,如果用這種新語法,寫出來可以是這樣的:

定義對象類型:

      
      /**
 * @typedef {{ brand: string; color: Rgb }} Car
 */


/** @type {Rgb} */
const color = { red255green255blue255 };

定義函數(shù)類型:

      
      /**
 * @typedef {(x: number, y: number) => number} TsAdd
 */


/** @type {TsAdd} */
const add = (x, y) => x + y;

TS 中的聯(lián)合類型等也可以直接用:

      
      /**
 * Union type with pipe operator
 * @typedef {Date | string | number} MixDate
 */


/**
 * @param {MixDate} date
 * @returns {void}
 */

function showDate(date{
  // date is Date
  if (date instanceof Date) date;
  // date is string
  else if (typeof date === 'string') date;
  // date is number
  else date;
}

范型也沒問題:

      
      /**
 * @template T
 * @param {T} data
 * @returns {Promise<T>}
 * @example signature:
 * function toPromise<T>(data: T): Promise<T>
 */

function toPromise(data{
  return Promise.resolve(data);
}

/**
 * Restrict template by types
 * @template {string|number|symbol} T
 * @template Y
 * @param {T} key
 * @param {Y} value
 * @returns {{ [K in T]: Y }}
 * @example signature:
 * function toObject<T extends string | number | symbol, Y>(key: T, value: Y): { [K in T]: Y; }
 */

function toObject(key, value{
  return { [key]: value };
}

類型守衛(wèi):

      
      /**
 * @param {any} value
 * @return {value is YOUR_TYPE}
 */

function isYourType(value{
 let isType;
 /**
  * Do some kind of logical testing here
  * - Always return a boolean
  */

 return isType;
}

至于動態(tài)引入 TS 定義也很簡單,不管項目本身是否支持 TS,我們都可以放心大膽地先定義好類型定義的 .d.ts 文件,如:

      
      // color.d.ts
export interface Rgb {
  red: number;
  green: number;
  blue: number;
}

export interface Rgba extends Rgb {
  alpha: number;
}

export type Color = Rgb | Rbga | string;

然后在 JSDoc 中:

      
      // color.js 
/** @type {import('<PATH_TO_D_TS>/color').Color} */
const color = { red255green255blue255alpha0.1 };

當然,對于內(nèi)建了基于 JSDoc 的類型檢查工具的 IDE,比如以代表性的 VSCode 來說,其加持能使類型安全錦上添花;與 JSDoc 類型(即便不用TS語法也可以)對應的 TS 類型會被自動推斷出來并顯示、配置了 //@ts-check后可以像 TS 項目一樣實時顯示類型錯誤等。這些都很好想象,在此就不展開了。

JSDoc 和 TS 能力的打通,意味著前者書寫方式的簡化和現(xiàn)代化,成為了通往 TS 的便捷橋梁;也讓后者有機會零成本就能下沉到業(yè)內(nèi)大部分既有的純 JS 項目中,這路是褲衩一下子就走寬了。

3. 用例:Protobuf+TS 的漸進式平替

既然我們找到了一種讓普通 JS 項目也能快速觸及類型檢查的途徑,那也不妨想一想對于在那些短期內(nèi)甚至永遠不會重構為 TS 的項目,能夠復刻哪些 TS 帶來的好處呢?

對于大部分現(xiàn)代的前后端分離項目來說,一個主要的痛點就是核心的業(yè)務知識在前后端項目之間是割裂的。前后端開發(fā)者根據(jù) PRD 或 UI,各自理解業(yè)務邏輯,然后總結出各自項目中的實體、枚舉、數(shù)據(jù)派生邏輯等;這些也被成為領域知識或元數(shù)據(jù),其割裂在前端項目中反映為一系列問題:

  • API 數(shù)據(jù)接口的入?yún)?、響?strong style="color:#000000;">類型模糊不清
  • 表單項的很多默認值需要硬編碼、多點維護
  • 前后端對于同一概念的變量或動作命名各異
  • mock 需要手寫,并常與最后實際數(shù)據(jù)結構不符
  • TDD缺乏依據(jù),代碼難以重構
  • VSCode 中缺乏智能感知和提示

對于以上問題,比較理想的解決方法是前端團隊兼顧 Node.js 中間層 BFF 的開發(fā),這樣無論是組織還是技術都能最大程度通用。

  • 但從業(yè)內(nèi)近年的諸多實踐來看,這無疑是很難實現(xiàn)的:即便前端團隊有能力和意愿,這樣的 BFF 模式也難以為繼,此中既有 Node.js 技術棧面臨復雜業(yè)務不抗打的問題,更多的也有既有后端團隊的天然抗拒問題。
  • 一種比較成功的、前后端接受度都較好的解決方案,是谷歌推出的 ProtoBuf。

在通常的情況下,ProtoBuf(Protocol Buffers)的設計思想是先定義 .proto 文件,然后使用編譯器生成對應的代碼(例如 Java 類和 d.ts 類型定義)。這種方式確保了不同語言之間數(shù)據(jù)結構的一致性,并提供了跨語言的數(shù)據(jù)序列化和反序列化能力

  • 但是這無疑要求前后端團隊同時改變其開發(fā)方式,如果不是從零起步的項目,推廣起來還是有一點難度

因此,結合 JSDoc 的能力,我們可以設計一種退而求其次、雖不中亦不遠矣的改造方案 -- 在要求后端團隊寫出相對比較規(guī)整的實體定義等的前提下,編寫提取轉換腳本,定期或手動生成對應的 JSDoc 類型定義,從而實現(xiàn)前后端業(yè)務邏輯的準確同步。

c219e1a7ae6133be9664e0f173157ca2.webp

比如,以一個Java的BFF項目為例,可以做如下轉換

枚舉:

      
      public enum Color {
    RED("#FF0000"), GREEN("#00FF00"), BLUE("#0000FF");

    private String hexCode;

    Color(String hexCode) {
        this.hexCode = hexCode;
    }

    public String getHexCode() {
        return hexCode;
    }
}

public enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

轉換為:

      
      /**
 * @readonly
 * @enum {String}
 */

export const Color = {
  RED'#FF0000',
  GREEN'#00FF00',
  BLUE'#0000FF',
}

/**
 * @readonly
 * @enum {Number}
 */

export const Day = {
  MONDAY0,
  TUESDAY1,
  WEDNESDAY2,
  THURSDAY3,
  FRIDAY4,
  SATURDAY5,
}

POJO:

      
      public class MyPojo {
 private Integer id;
 private String name;

 public Integer getId() {
  return id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
}

轉換為:

      
      
        /**
 * @typedef {Object} MyPojo
 * @property {Integer}  [id]
 * @property {String}  [name]
*/

在轉換的方法上,理論上如果能基于 AST 等手段當然更好,但如本例中的 Java 似乎沒有特別成熟的轉換工具,java-parser 等庫文檔資料又過少。

而基于正則的轉換雖然與后端具體寫法耦合較大,但也算簡單靈活。這里給出一個示例 demo 項目供參考:https://github.com/tonylua/java-to-type




瀏覽 96
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 日韩激情无码一区二区| 一级免费黄色视频| 狠狠干五月天| 无码人妻一区二区三区精品不付款| 色色色成人视频| 欧美成人A片AAA片在线播放| 精品aaa| av中文字幕在线播放| 屌国产精品| 日韩在线视频第一页| 一二三四区视频| 中文字幕人妻日韩在线| 91成人三级| 五月婷婷深深爱| 国产高清AV在线| 做爱网| 自慰一区| 五月丁香婷中文| 国产免费av在线观看| 欧性猛交ⅩXXX乱大交| 在线观看91| 青青无码视频| 热久久久久| 91av在线免费播放| 欧美人妻无码| 午夜精东影业果冻传媒| 精品免费一区二区三区四区| 婷婷色AV| 91就要爱爱视频| 国产91精品久久久天天| 91视频美女内射| 黄色A片免费看| 91视频福利网| 俄女兵一级婬片A片| 91人妻人人澡人人爽人人精品一| 99热精品国产| 五月丁香婷婷色| 色狠狠干| 国产suv精品一区二区| 老太老熟女城中层露脸60| 日韩在线免费视频| 国产精品国产三级国产AⅤ原创| 欧美后门菊门交4| 91成人免费电影| 欧美草逼网| 免费无码在线看| 日B免费视频| 十八女人高潮A片免费| 六月激情婷婷| 欧美性受XXXX黑人XYX性爽一| 午夜蜜桃人妻一区二区| 中文字幕人妻日韩在线| 婷婷五月天基地| 欧美亚洲视频在线观看| WWW久久| 亚洲V在线观看| 三级片视频在线观看| 波多野结衣无码NET,AV| 色搞搞| 免看一级a毛片一片成人不卡| 欧美精品18videosex性欧美| 北条麻妃无码观看| 韩国gogogo高清在线完整版| 懂色av懂色av粉嫩av| 华女与黑人91A∨| 97免费在线观看视频| 永久免费无码中文字幕| 中国毛片视频| 日韩AV手机在线观看| 熟女人妻一区二区三区免费看| 麻豆蜜桃wwww精品无码| 大鸡巴视频在线观看| 再深点灬好爽灬轻点久久国产| 毛片毛片毛片毛片毛片| 91超碰人人操| 成人电影一区二区| 亚洲成人性爱网站| 91蝌蚪网| 狠狠一区| 插插菊花综合网| 国产小电影在线观看| 大香煮伊在75| 成人福利视频| 日韩麻豆| 丰满熟妇人妻中文字幕| 亚洲最大黄色视频| 日韩h视频| 最新国产激情视频| 黄色A片网站| 亚洲精品秘一区二区三小| 怡红院成人av| 人人澡人人妻人人爽| 天天视频狠狠狠狠| 人人操人人操人人操人人操人人操 | 国产人国产视频成人免费观看…| 影音先锋人妻资源| 西西人体大胆ww4444图片 | 亚州精品国产精品乱码不99勇敢| a在线观看免费| 婷婷激情五月综合| 欧美一级片免费看| 伊人啪啪| 久草在线| 亚洲中文字幕第一页| 在线观看国产视频| 91在线网站| 少妇无码视频| 手机免费av| 黑人无码AV黑人天堂无码AV| 亚洲AV成人精品一区二区三区| 国产日韩欧美视频| 2025AV天堂| 天天插天天射| 人妻无码一区二区三区摄像头| 九九自拍视频| 日韩三级AV| 少妇搡BBBB搡BBB搡造水多| 爱搞搞就要搞搞| 7799精品| 在线观看国产免费视频| 日韩中文在线观看| 嫩BBB嗓BBBB榛BBBB| 女色综合| 欧美一级特黄AAAAAA片在线视频| 国产suv精品一区二区6精华液| 午夜操逼| AV一区二区三区| 日本少妇午夜福利| 欧美成人看片| 久久久无码精品亚洲日韩男男| 人人操干| 精品國產一區二區三區久久蜜月| 五月丁香六月情| 日韩在线视频不卡| 婷婷五月激情小说| 日韩精品视频免费| 一区二区经典| 人人操天天| 91精品久久久久久综合五月天| 密桃视频网站| 成人爱爱免费视频| 成人大香蕉网| 成人影音先锋| 欧美中文字幕在线观看| 国产一级婬片A片免费妖精视频| 成人蜜臀AV| 色色色五月婷婷| 影音先锋无码专区| 思思热思思操| 亚洲高清无码视频在线播放| 亚洲高清无码视频大全| 日韩久久久久| 成人A片免费观看| 国产v在线| A视频在线免费观看| 欧美性小说| av资源站| 黄色在线免费| 亚洲天堂中文字幕| a亚洲天堂| 亚洲九九在线| 国产视频一区二区三区四区| 欧美日韩不卡在线| 操屄视频免费观看| 国产精品一区二区在线观看| 蜜桃Av噜噜一区二区三| 亚洲综合电影| 黄色操逼网站?| 成人综合激情| 亚洲AV图片| 精品人妻一区二区三区在线视频不卡 | 国产最新AV| 一边做一边说国语对白| 伊人免费在线| 亚洲日韩成人电影| www.超碰在线| 国内久久| 免费无码A片在线观看全| 国产在线欧美在线| 俺来也俺去| 欧美v在线观看| 国产三级视频在线| 色综合国产| 五月丁香婷中文| 又大又黄又爽| 四虎884| 成人激情视频| 日逼无码视频| 9l视频自拍九色9l视频成人| 澳门免费毛片| 三级片中文字幕| 国产乱子伦视频国产印度| 中文字幕av免费在线观看| 精品人伦一区二区三区| 国产精品无码7777777| 久久久亚洲| 日韩理论片| 日本成人A| 欧美爱爱试看| 四虎影成人精品A片| 777超碰| 国产黄色精品视频| 国产福利av| 色天堂色天使| 三级久久| 3DAV一区二区三区动漫| 久久精品波多野结衣| 日韩大香蕉在线| 国产人妖视频| 欧美亚洲黄色| 欧美午夜激情视频| 久久艹国产| 美女一级片| 岛国av无码免费| 天天爽夜夜爽夜夜爽精品| 日本操b| 人妻无码一区二区| 在线午夜福利| 国产色婷婷| 69av视频在线观看| 在桌下含她的花蒂和舌头H视频| 黄片视频国产| 欧美中文字幕在线视频| 天天干天天草| 成人做爰100片免费-百度| 思思热在线视频精品| 午夜视频免费| 爆草美女| 伊人乱伦| 中文字幕成人在线| 人人操人人干人人| 国产一级片电影| 一级成人A片| 日本成人性爱视频网站一区| 五月丁香在线| 免费一级欧美片在线观看| 免费视频亚洲| 国产啊啊啊啊| 成人在线网| 91AV免费看| 成人亚洲av| 操操操影院| 国产精品免费在线| 91国产视频网站| 丰满人妻一区二区三区四区53| 国产视频二区| 亚洲综合区| 成人动漫免费观看| 日韩大香蕉网| 五月天激情电影| 亚洲成人黄色电影| 学生妹一级大片| 黄色无码av| 人妻无码一区二区三区摄像头| 日韩人妻无码专区一区二区| 蜜桃精品一区二区| 亚洲成人无码在线播放| 免费一级电影| 一区二区高清无码视频| 悠悠久久久| 激情丁香五月天| 丁香婷婷色五月激情综合三级三级片欧美日韩国 | 亚洲精品18在线观看| 日B无码| 91久久综合亚洲鲁鲁五月天| 婷婷深爱五月丁香网| 北条麻妃99精品青青久久| av天堂中文在线| 亚洲欧美成人在线| 一本大道久久久久| 精品国产va久久久久久久 | 欧美不卡视频| 国产天堂av| 久久综合五月天| 在线观看黄色小视频| 超碰在线最新| 婷婷狠狠操| 毛片一区二区三区| 欧美性爱免费在线视频| 欧美性爱手机在线| www.婷婷五月天| 精品国产AV鲁一鲁一区| 国产内射精品| 亚洲高清视频在线| 丰满的人妻一区二区10| 婷婷综合亚洲| 黄色片在线看| 国产精品无码不卡| 丁香五月六月| 久久福利| 91妻人人澡人人爽人人精品| 亚洲精品久久久久avwww潮水 | 91成人视频在线播放| 丁香五香天堂| 国产成人AV免费无码| 强伦轩人妻一区二区电影| 精品九九九九九九| 波多野结衣无码AV| 无码免费看| 人人上人人操| 日产无码| 欧美色伊人| 激情操逼视频| 一级电影网站| 九九惹伊人| 亚久久久| 中文字幕在线观看视频www| 福利视频导航自拍| 欧美亚洲日韩一区二区三区| 青青操逼| 手机看片亚洲| 婷婷综合色| 国产在线内射| 久久亚洲综合| 美女网站黄| 91热爆在线| 久久久久久亚洲AV无码专区| 丁香伊人| 神马影院午夜福利| 日本大胆中出| 高清无码在线免费观看视频| 日韩欧美在线视频观看| 亚洲成人A| 亚洲免费成人视频| 大橡胶伊人网| 97精品久久| 国产在线视频你懂的| 日本少妇激情视频| 国产成人精品av| 正在播放吴梦梦淫行| 一区二区三区四区五区| 北条麻妃中文字幕在线| 日韩三级黄色| 久久午夜无码鲁丝片午夜精| 国产成人精品片| 一级黄色毛片视频| 就去色色五月丁香婷婷久久久| 亚洲乱伦小说网| 一本大道东京热av无码| 日韩黄色精品| 四虎884| 天天草B| 亚洲一级AV| 蜜桃高清无码| 免费肏逼视频| 亚洲一级免费免费在线观看| 一级黄色免费看| 无码少妇| 91搞| 日日撸| 国产精品久久久久久无人区| 不卡二区| 久久免费视频网站| 玖玖国产| 女人BBBB| 日韩一二三区| 精品中文字幕视频| 手机看片日韩| 性猛交AAAA片免费观看直播| 91在线日韩| 天天干天天色天天射| 欧美精产国品一区二区区别| 亚洲区综合| 欧美一区二区三区免费| 成人无码视频在线| 美女免费网站| 黄色片久久久| 人人澡人人澡人人| 欧美婷婷五月| 波多野结衣高清无码视频| 黄色在线网| 99xxxxx| 水多多成人网站A片| av天堂中文在线| 三级久久网| 国产精品无码天天爽视频| 少妇搡BBBB搡BBB搡打电话| 人人澡人人澡人人| 欧美XXXXBBBB| 黑人人妻黑人ThePorn| 最新激情网站| 成人黄网免费观看视频| 日韩欧美国产一区二区| 99色热| 国产a片免费观看| 九九九亚洲| 亚洲婷婷综合网| 91操操| 欧美日韩一区视频| 亚洲欧美在线观看| 自拍偷拍一区二区| 亚洲精品97久久| 色色视频在线观看| 久艹在线观看视频| 性爱福利社| 欧美熟妇另类久久久久久不卡 | 俺去啦在线视频| 天堂网影音先锋| 人善交精品一区二区三区| 扒开让我91看片在线看| 人人看人人摸人人| 桃花岛tⅴ+亚洲品质| 国产精品123| 一级a免一级a做免费线看内裤的注意事项| 亚洲天堂天天| 国产无码播放| 欧美日韩V| 中文字幕欧美在线| 日本黄色高清视频| 甘肃WBBBB搡wBBBB| 影音av资源| 免费黄片无码| 国产又色又爽又黄又免费| 婷婷热| 欧美日韩激情| 亚洲AV秘成人久久无码海归| 人人做人人爽| 无码人妻精品一区二区蜜桃91| 婷婷爱五月天| 国产人妖在线观看| 日本一级特黄大片AAAAA级 | 3D精品啪啪一区二区三区| 国产免费成人视频| 亚洲无码av中文字幕| 国产在线观看免费视频今夜| 国产女主播在线观看| 影音先锋女人资源| 三级片无码在线播放| 色琪琪在线视频| 青青在线| 精品久久一区| 国产字幕在线观看| 欧美亚洲一区| 性爱视频小说| 婷婷天天干| 黄色片毛片| 偷拍无码| 色欲影视插综合一区二区三区 | 天堂va欧美va亚洲va在线| 成人免费无码毛片| 蜜桃av色偷偷av老熟女| 日本免费版网站nba| 福利一区二区| 男人的天堂亚洲| 丰满大爆乳波霸奶| 插插视频| 看黄片com| 日本欧美一级片| 精品无码秘人妻一区二区三区| 色老板网址| 全部视频午夜寂寞| 色综合一区二区三区| 中文字幕免费av| 国产日韩欧美| 能看的av| 黄色国产在线| 97超碰人人| 日本在线视频一区二区| 久久国产2025| 成人aaa| 在线黄色av| 亚洲一本大道| 久久久三级片| 久久久久久久精| 免费无码国产| 亚洲一区| 激情五月天色| 天天色粽合合合合合合合| 中文字幕乱伦性爱| 日韩一级电影在线观看| 网站啪啪| 欧美区在线观看| 午夜成人黄片| 狠狠狠狠狠操| 91久久久久久久久久久| 日日精品| 亚洲一区二区三区视频| 国产无遮挡又黄又爽又色视频软件| 性爱无码| 国产女同性系列| 欧美另类极品| 影视先锋成人在线| 加勒比无码高清| 婷婷五月国产| 少妇熟女视频一区二区三区| 国产视频网| 中文解说AⅤ水果派| 免费在线无码视频| 蜜桃视频一区二区三区| 91九色91蝌蚪91窝成人| 亚洲精品国产精品国自产网站 | 国产欧美综合视频一区二区在线 | 屁屁影院CCYYCOM发布地| 91干穴穴在线观看| 好吊视频一区二区| 成人91视频| 欧美日韩亚洲一区二区三区 | 成人伊人AV| 逼特逼在线观看| jizzjizz欧美| 国产午夜精品一区二区三区嫩A| 人人操碰人人| 最新av在线| 亚洲日韩AV无码| 丁香婷婷社区| 屁屁影院国产第一页| 翔田千里一区二区| 操比视频在线观看| 中文字幕北条麻妃| 免费中文资源在线观看| 人人操人人干人人摸| 欧美性爱69| av一区在线| 乱伦无码高清麻豆视频一区二区| 亚洲免费播放| 自拍偷拍精品视频| 国产高清无码免费在线观看| 日韩AAA在线| 五月激情网站| 色老板视频在线观看| 日韩日韩日韩日韩日韩| 黄色av无码| 国产黄片在线免费观看| 五月丁香亭亭| 大香蕉com| 黄色免费福利视频| 日韩AV在线免费观看| 亚洲AV无码成人精品区| 大地影视中文第三页最新在线观看 | 激情无码一区二区三区| 日韩av小说| 色色加勒比综合| 国产又粗又长的视频| 亚洲逼逼| 91欧美精品成人综合在线观看| 求毛片网址| 亚洲欧美成人在线| 国精产品一区一区三区四川| a√天堂中文在线8| 国产精品中文字幕在线观看| 中文字幕在线观看一区二区三区| 亚洲高清无码在线| 91丨九色丨蝌蚪丨成人| yjizz视频| 亚洲一区二区视频在线观看| 日韩三级片AV| 亚洲操逼图| 亚洲午夜无码| 又黄又爽的网站| 婷婷丁香色| 国产一级A片在线观看| 伊人网在线视频| 图片区视频区小说区| 超碰97在线免费观看| 日韩无码视屏| 高清免费在线中文Av| 亚洲vs天堂vs成人vs无码| 成人久久电影| 黄色A片在线观看| 青青草社区| 无码国产精品一区二区视频| 男女AV在线免费观看| 午夜无码在线观看视频| 91久色| 无码人妻精品一区二区三| 91超碰久久在线| 九色PORNY丨自拍蝌蚪| 国产草逼网站| 激情小说亚洲图片:伦| 91九九| 亚洲av在线免费观看| 日本综合视频| 一级黄色视频免费观看| 人人操人人妻人人看| 毛片黄色片| 午夜3D动漫AV| 免费看一区二区三区A片| 国产又爽又黄免费视频免费| 日韩婬乱片A片AAA真人视频 | 99精品视频免费在线观看| 色婷婷电影网| 国产亚洲视频在线观看视频| 在线观看黄| 久久美女视频| www天天干| 国产成人无码精品久在线观看 | 吃奶做爱视频| 日日騒av无码| 狠狠AV| 精品一区国产探花| 国产欧美熟妇另类久久久| 一级黄色电影在线观看| 国产日韩在线观看视频| 九九综合伊人7777777| 欧美午夜激情视频| 能看毛片的网站| 亚洲色婷婷五月| 亚洲啪啪网站| 黄片免费视频| 操日韩| AⅤ在线| 超碰成人AV| 日美女网站| 天天爽夜夜爽夜夜爽| 688AV秘无码一区二区| 求毛片网址| 奶大丰满一乱一视频一区二区三区在| 97中文字幕| 国产高清免费视频| 亚洲精品一级二级三级| 豆花天天吃最新视频| 特级西西人体444www高清大胆| 先锋影音AV资源站| 午夜福利视频无码| 中文原创麻豆传媒md0052| 超碰激情| 白虎高清无码大尺度免费在线观看| 日韩欧美不卡| 亚洲a视频| www.黄色在线观看| 青青AV| www.黄色片| 99re免费视频| 超碰人人操在线| 黄片中文字幕| 羞羞午夜| www.99在线| 激情自拍偷拍| 亚洲精品美女视频| 日韩中文字幕国产| 国产aa| 国产综合激情| 国产精品视频福利| 女人18片毛片60分钟黃菲菲| 精品久久一区二区| 欧美自拍视频在线| 欧美精品性爱视频| 久久人人超碰| 成人无码国产| 亚洲无码婷婷| 男女av免费观看| 精品丰满人妻一区二区三区免费观| 日韩免费视频| 97一区二区| 亚洲成人无码视频| 亚洲网站在线观看| 91天天综合| 黄色激情五月天| 日韩人妻丰满无码区A片| 大香蕉伊人久久| av资源在线| 日韩成人片| 亚洲18禁| 丝袜制服中文字幕无码专区 | 蜜桃免费网站| 大荫蒂精品另类| 人人摸人人看人人| 操逼激情视频| 美女被操网站免费| 亚洲欧洲无码视频| 99草在线视频| 日韩专区在线观看| 色吊丝中文字幕| 韩日一区二区三区| 黄色电影视频网站| 男女日皮的视频| 91在线无码精品秘入口国战| jizz视频| 国产亚洲中文字幕| 亚洲AV无码一区| 国产乱子伦一区二区三精品| 91综合视频| 波多野结衣无码视频在线观看| 91精品人妻一区二区三区蜜桃| 91精品无码| 另类老妇奶性BBWBBw| 脓肿是什么原因引起的,该怎么治疗| youjizzcom日本| 手机免费Av| 久久久婷婷五月亚洲国产精品 | 五月婷婷视频| 狠狠操狠狠| 日韩Av无码一区二区三区不卡| www.91av| 日韩AAA在线| 青青啪啪啪| 色哟哟一区二区三区四区| 91ThePorn国产| 五月婷婷五月丁香| 欧美黄色一级网站| 欧美特级视频| 久色悠悠| 北条麻妃在线中文字幕| 一道本高清无码视频| 国精产品一品二品国精| 在线中文av| 成人A片一级| 二区无码| 成人片天天看片欧美一级| 欧美日韩一区二区三区在线电影| 91白丝在线观看| 91人妻人人人| 先锋影音AV资源站| 青青久热| 99久久精品国产一区二区成人| 久久99久久99久久99| 777Av| 肏屄在线视频| 丁香六月婷婷综合| 亚洲视频日韩在线观看| 97无码人妻一区二区三区| 色老板av| 人人摸在线视频| 永久久久久久久| 欧美性爱一级| 免费在线看黄色| A级无码| 91水蜜桃| 11孩岁女精品A片BBB| 欧美三级性爱视频| 中文字幕人妻丝袜二区电影| 91在线无码精品在线看| 亚洲一区三区| 国产二区三区| 欧美a视频| 麻豆天美蜜桃91| 一级二级无码| 日韩大片在线| 国产精品久久久大香蕉| 在线观看视频亚洲| aaa午夜| 亚洲人妻少妇| 中文字幕在线观看一区| 三级电影久久麻豆| 学生妹一级| 亚洲无码乱码精品| 大香蕉大香蕉视频网| 8x8x黄色| 午夜福利欧美| 午夜大香蕉| 国产另类自拍| 亚洲成av| 亚洲高清超级无码在线视频观看 | 亚洲www在线观看| 国产在线h| 啪啪免费视频| 丝袜诱惑AV| 国产SUV精品一区二区| 澳门无码视频| 人人操人人骑| 蜜桃传媒一区二区亚洲| 色综合99| 骚逼中文字幕| 人人人射| www高清无码| 欧洲成人在线观看| 色婷婷视频在线| 久热久热| 亚洲一级婬片A片AAAA网址| 亚洲高清无码视频大全| 日韩一级片免费观看| 日韩a视频| 99re视频在线观看| 欧美不卡在线视频| 国精品无码一区二区三区在线秋菊 | 欧美丰满人妻| 无码三级在线观看| 精品国产va久久久久久| 人人人干| 91最新地址| www.精品视频| 天天综合色| 久久黄色视| 深爱激情综合网| 老汉AV| 日韩va中文字幕无码免费| 四虎久久| 操一操干一干| 99国产综合| 婷婷中文网| 无码精品一区二区三区同学聚会| 天干天干天夜夜操| 国产精品伦子伦免费视频| 成人在线三级片| 无码人妻精品一区二区三区99仓| 九色在线视频| 欧美精品xxx| 亚洲一区二区久久| 久久久久久97| 麻豆精品久久久久久久99蜜桃| 欧美日本成人网站入口| 一级片国产| 日本成人黄色电影| 自拍偷拍中文字幕| 国内夫妻【20p】| 亚洲图片中文字幕| 亚洲国产欧美日韩在线| 蜜臀AV成人精品| 波多野结衣无码在线| 手机在线看片av| 色婷婷激情综合网| 色777| 男人天堂网站| 欧美国产日韩视频| 蜜臀av在线免费观看| 2018最好看的中文字幕高清电影| 久久久一区二区三区四区免费听| 青草香蕉视频| 午夜福利100理论片| 欧美一級黃色A片免費看| 伊人网在线播放| 一级a一级a爱片兔兔软件| 黄色视频免费在线观看网站| 成人三级电影在线观看| 大乳奶一级婬片A片| 精品人人人人| 亚州免费视频| 激情性爱五月天| 日国无码| 密桃视频网站| 高清无码做爱视频| 97精品人妻一区二区三区| 久艹在线观看视频| 91黄色视频在线播放| 丁香婷婷一区二区三区| 色mm在线播放| 日本无码成人片在线播放| 亚洲色图欧美另类| 九九偷拍视频| 性满足BBwBBWBBw| 成年人国产| 白嫩外女BBWBBWBBW| 色婷婷一区二区三区四区五区精品视| 国产小视频在线看| 99毛片| 婷婷五月综合久久中文字幕| 18成人在线观看| 特级欧美AAAAAA| 九九热在线观看| 黄色在线网| 草逼视频免费看| 日韩欧美亚洲| 精品国产一区二区三区性色AV| 手机看片国产| 99久| 亚洲国产精品成人综合色五月| 激情小视频在线观看| 囯产精品久久久久久久久久辛辛| 久久毛片| 台湾AV在线| 韩国无码一区| 水蜜桃视频在线观看| AV在线大香蕉| 亚洲一区二区三区视频| 天堂一区二区三区| 大香蕉伊人网视频| 精品人妻二区三区蜜桃| 大香蕉中文在线| 91AV久久| 亚洲性爱在线播放| 91综合娱乐| 嫩草久久| 国产黄色一级| www.超碰| 少妇性受XXXX黑人XYX性爽| 四虎成人网址| 日韩中文字幕在线视频| 在线国产激情视频| 91成人导航| 久久久久久国际四虎免费精品视频| 成人一区二区在线观看| 伊人久久av| 亚洲激情网址| 精品国内自产拍在线观看视频| 爆乳一区二区| 日韩网站在线| 日韩三级一区| 91精品国产综合久久久蜜臀酒店| 麻豆911精一区二区| 亚洲www在线观看| 婷婷涩嫩草鲁丝久久午夜精品| 日本久久久久| 无码操B| 人人做人人爽| 国产成人精品免费看视频| 91精品视频在线播放| 99久久久国产精品免费蜜臀| 先锋影音在线| 操逼视频大全| 日本草逼网| 欧美成人精品欧美一级私黄| 91免费观看国产| 高清无码在线视频观看| 国产精成人品| 欧美黄频| 日韩人妻无码一区二区三区| 小日本91在线观看| 风流老熟女一区二区三区| 91久久综合亚洲鲁鲁五月天| 亚洲国产精品18久久久久久|