2019年現在、NBAファン向けの有料サービスとして、NBA TVがある。日本国内を含む世界各地へインターネットブロードバンド配信で、NBAのレギュラーシーズン、オールスターイベント、プレーオフ、ファイナルのすべてのゲームを配信している。HD画質で、ライブおよびオンデマンドで、パソコン上の視聴が可能である。この有料配信サービスはナローバンド低解像度画像で、数年前に開始され、その後ハイグレード化された。但し、放送はすべて現地で制作され配信されるので、音声は英語のみであるが、往年の名選手の解説を聞くことも出来る。
日本向け放映権は2017-18シーズンより楽天が独占放映権を取得。楽天ではRakuten TVで週9試合日本語実況を行う他、NBAリーグパスを販売（月額税抜900円）。また2019年はNCAA男子ディビジョンIバスケットボール選手権も放送されている。かつてはNHK BS1、フジテレビNEXT、テレビ東京、テレビ朝日、TBS、J SPORTS、およびスカパーJSAT（スカチャンなどで放送）で中継していた時期もあったが、NHK以外は2010-11シーズンを持って終了となり、代わってそのシーズンからはWOWOWで放送開始したが2017-2018シーズンで終了した。なおプレーオフ決勝の「NBAファイナル」については双方とも生中継となっていた。2014-15シーズンはフジテレビNEXTでも放送されていた。
NBAは157の放送局を通じて、214の国と地域に43の言語で放送されている。テレビ放映権は、全国放送やポストシーズンに限りリーグが管轄し、ローカル放送はチームが放送局と直接契約を結んでいる。そのため、レギュラーシーズン、ポストシーズン全試合の放映権を管轄しているNFLと違い、チームによって放映権料収入は大きく異なる。現在の放映権料は9億3000万ドルだが、新たな契約で2016-2017シーズンからNBAの放映権料収入は年間約26億6000万ドルとなった。
2005-06シーズンの前に合意した労使協定で、運動能力を高めるために人体に強い影響を及ぼす薬物を使用した選手に対する罰則を強化した。違反1回目で10試合、2回目で25試合、3回目で1年間の出場停止、そして、4回目にはリーグから追放される。全選手を対象に、シーズン中に4回、ランダムに検査が行われる。
国際バスケットボール連盟 (FIBA) ルールとは異なる独自のNBAルールがあり、その違いからオリンピック、世界選手権などでアメリカが苦戦を強いられる要素にもなっている。ただし、2010年10月から五輪や世界選手権で、2012年10月からは各国で、それぞれFIBAルールが改正され、3ポイントラインが50cm下がり、ペイントゾーンが長方形になる。これによって国際ルールとNBAルールが近づくことになる。
両カンファレンスを優勝したチーム同士で行われる決勝は「NBAファイナル」（6月上旬 - 中旬開催）と呼ばれ、世界各地に中継放送されて3億人が観戦していると言われる。ファイナルもレギュラーシーズンの勝率の高いチームが「ホームコートアドバンテージ」を獲得し、ファイナルでは、ホーム、ホーム、アウェイ、アウェイ、ホーム、アウェイ、ホームで試合が進められる。ファイナル終了後に、ファイナルMVPが選出される。
プレイオフはカンファレンス内の順位で組合せが決定し、それぞれ対戦する2チームで勝率が高い方に、（7戦目まで進んだ場合）一方のチームより1試合多くホームゲームを戦える「ホームコートアドバンテージ」が与えられる。※A:勝率が高いチーム B:勝率が低いチーム→AABBABAというホーム開催となる。各ラウンドは4勝したチームが勝ち抜ける。A（1位 - 8位）、B(2位 - 7位）、C（3位 - 6位）、D（4位 - 5位）の組み合わせで1stラウンドを戦い。カンファレンスセミファイナルは、A-D、B-Cで対戦し、それぞれの勝者でカンファレンスファイナルを戦う。
C言語では、例えばオフセット付きでポインタをデリファレンスするような式 *(p + ofs) を、配列へのアクセス風に p[ofs] とも書ける。この糖衣構文は、見た目の単純さだけではなく、括弧の手前に書かれるものが先頭アドレスで括弧の中がオフセットであるというように、コードの意味をより明確で分かりやすくもしている。また、C言語の関数には配列そのものを引数として渡すことはできず、代わりに配列先頭要素へのポインタを渡すことで代替するが、例えば関数宣言void func(double *x, size_t count)は、void func(double x[], size_t count)と書くこともできる。後者は引数として配列を渡すことを想定していることがより明確になる。なお、配列変数のシンボルは、式の中では配列先頭要素へのポインタと解釈されるため、例えば要素数10の固定長配列double a[10]の先頭要素へのポインタを関数funcの実引数として渡す場合に、func(&a[0], 10)と書けるだけでなく、func(a, 10)と書くこともできる。一方で、これらの糖衣構文は、配列とポインタはデータ構造としても文法要素としても異なるものである（例えば extern int *a; という宣言と extern int a[]; という宣言とは、それぞれ違うものである）という事実を見失わせ、あらゆる場所で配列とポインタは可換であるというように誤った解釈や混同をしてしまう要因にもなっている。なお、前述の p[ofs] を ofs[p] のように書くこともできる。例えば文字列リテラルにインデックスでアクセスする、整数値から十六進数表現を得るための、次のようなコード "0123456789abcdef"[n] の代わりに n["0123456789abcdef"] と書くこともできる（普通は書かないが）。構文的に問題なく、意味的にも全く同じだが、読者を驚かせる効果はある。IOCCCにおいて以前はよく見られた技法のひとつである。